如果将两个数组的键值进行对比查找出差集 有个一内置函数 array_diff
- function array_diff_rewrite($array1, $array2) {
-
array_flip($array2);
-
foreach ($array1 as $k=>$v) {
-
if (isset($array2[$v])) {
-
unset($array1[$k]);
-
}
-
}
-
return $array1;
-
}
这样的效果比原生的array_diff执行效率都高?????
因为数组中的键是HASH组织的,查找很快; 而键值是有KEY组织存放,本身木有索引,每次查找都需要遍历。
总结,每次进行数组对比或者查询,将数组中的k-v反转判断,效率将会更高。
阅读(2181) | 评论(0) | 转发(0) |