in_array效率问题

来源:互联网 发布:地图数据采集软件安卓 编辑:程序博客网 时间:2024/05/22 08:10

in_array(a,b) 判断某个值是否在数组里,与数组值对比。

因为一直都认为php是弱类型,没有顾虑到会有效率问题,其实in_array 对比时  会把值类型转换成一致的类型,如此一来in_array的操作复杂度为O(n)。

例如 $a = 1; $b=array('a','b');$n = count($b);

a 就需要转换n次变量,效率明显变低。

推荐使用isset和array_key_exists();

具体参考http://www.zendstudio.net/archives/php-in_array-s-low-performance/#more-1836


0 0