我有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()
的组合可以解决这个问题吗?
答案 0 :(得分:2)
这个怎么样?
foreach ($arr1 as $key => $val) {
if (in_array($val, $arr2)){
// do something, maybe return so you wouldn't need break
break;
}
}
答案 1 :(得分:1)
只比较第一个值?
$arr1 = array(1, 2, 3, 4, 5);
$arr2 = array(2, 3, 4, 5, 6);
if (array_intersect($arr1, $arr2)[0]) {
// good, at least one match found
}