我有 2 个数组要比较并查找是否至少有一个共同值。
这工作得很好:
$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(2, 3, 4, 5, 6);
if (array_intersect($arr1, $arr2)) {
// good, at least one match found
}
但是,问题是性能。在找到第一个匹配项后继续循环遍历数组是没有意义的。是否有本地 PHP 函数或有用的代码片段可以实现此目的?
foreach()
和 in_array()
的组合可以解决问题吗?
最佳答案
这个怎么样?
foreach ($arr1 as $key => $val) {
if (in_array($val, $arr2)){
// do something, maybe return so you wouldn't need break
break;
}
}
关于PHP array_intersect() 直到第一个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17864286/