PHP 被忽视的细节(一)

冷门知识大揭秘
1、小数点后四舍五入。

[1]
<code>
$round_eg = 12345.42633668;
echo round($round_eg,'2');//12345.43
</code>
[2]
<code>
$numberformat_eg = 12345.42633668;
echo round($number_format,'2','.',' ');//12 345.43
</code>
[3]js中的小数点四舍五入<script language="javascript">XXX</script>。
<code>
  var a = 2.1512131231231321;
alert(a.toFixed(3));
</code>

2.array_intersect()和array_diff();

1.在php中,求两个数组的交集,array_intersect()比array_diff()要快。
2如果求数组$a和数组$b的差集的个数,count(array_intersect($a,$b)),而不使用count(array_diff($a,$b)),因为前者比后者快,大数据面前,比较明显。

<code>
$array1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); $array2=array("e"=>"red","f"=>"black","g"=>"purple");
$result1 = array_diff($array1, $array2); //获取$array1中和$array2中不同元素 (差集)
$result2 = array_intersect($array1, $array2); //获取$array1中和$array2中相同元素 (交集)
print_r($result1);//Array([b] => green[c] => blue[d] => yellow)//
print_r($result2);//Array([a] => red)//
</code>

3.php.ini 中 session.auto_start 开启与关闭的区别

session.auto_start 开启就自动完成了session_start() session.auto_start = on
时,执行 session_start() 将产生新的 session_id
session.auto_start = on 的优点在于,任何时候都不会因忘记执行 session_start() 或 session_start() 在程序里的位置不对,而导致错误
缺点在于,如果你使用的是第三方代码,则必须删去其中的全部 session_start() 。否则将不能得到正确的结果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Array_key_exists();检查给定的键名或索引是否存在于数组中二、array_keys ()返回数...
    peng_js阅读 347评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 不支持上传文件,所以就复制过来了。作者信息什么的都没删。对前端基本属于一窍不通,所以没有任何修改,反正用着没问题就...
    全栈在路上阅读 1,999评论 0 2
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,386评论 0 20
  • 右手下岗后,不得不说左手是越来越能干了,有种能力担当的霸气,跟人的成长一样,从刚开始的菜鸟不被信任到委以重任,这期...
    章鱼泡泡阅读 320评论 0 3