请教下,PHP里面两个等于一般不判断类型,全等于会判断类型是否也一样,理论来说应该速度会比较慢一点。然而一般在写判断的时候倒地是用哪个比较好呢?还有个就是一个变量反复使用和新定义变量。比如开始用个变量 $var  = array('a', 'b', 'c'); 后面需要连接起来,而且不需要再使用这个数组了如$var = implode(' ', $var);这样好 还是 新定义变量 $str = implode(' ', $var); 哪个比较好呢。只说效率问题。先谢谢了~

解决方案 »

  1. ==和===不只是效率上的区别,考虑一下下面这个例子:
    $v1 = true;
    $v2 = 'true';
    echo $v1 == $v2 ? 'yes' : 'no';
    echo $v1 === $v2 ? 'yes' : 'no';
      


  2. == or != 的效率完全没有办法和 === or !== 比,这是因为当== or !=进行比较时,2个类型不一致时,会首先将类型转换成一致,然后才比较!而=== or !== 的话,类型不一样,就直接返回false了!$var = implode(' ', $var); 和 $str = implode(' ', $var);
    相比较而言,在$var不存在引用的情况下, $var会节省一点空间!$var赋值前的内容在赋值以后,会清除掉,而$str则要靠人为销毁或者(在所在的作用域结束时)自身销毁!
      

类似问题 »