晓夏

北漂的女孩

Good Luck To You!

php5.3以下,获取两个数组差集,比系统函数array_diff更快

浏览量:478

PHP手册中,array_diff 实现两个数组的差集,在数组1中,但不在数组2中。

该方法在php5.3以下版本存在执行效率低的问题。

下面用PHP自己实现的代码,手册评论部分也有该部分代码:

1
2
3
4
5
6
7
8
9
10
function array_diff_fast($array1$array2) { 
    $array1 array_flip($array1); 
    $array2 array_flip($array2);
    foreach($array2 as $hash => $key) { 
        if(isset($array1[$hash])){
            unset($array1[$hash]); 
        }
    
    return array_flip($array1); 
}


 

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。