如果$array1
中只有1个值,我有以下代码可以正常工作,但如果$array1
中有2个或更多值,则返回一个空数组。我需要它来匹配$array1
的所有值。
$array1Imploded = implode(", ", $array1);
foreach ($array1 as $m) {
$m = array_filter($array2, function($var) use ($array1Imploded) { return preg_match("#\b$array1Imploded\b#i", $var); });
}
print_r($m);
我做错了什么?我猜它与$array1Imploded
中的逗号和空格有关,但我不确定如何解决它们。
答案 0 :(得分:0)
需要array_intersect
而不是array_filter
。
foreach ($array1 as $m) {
$m = array_intersect($array2, $array1);
}