PHP循环& array_filter

时间:2015-06-21 02:00:42

标签: php

如果$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中的逗号和空格有关,但我不确定如何解决它们。

1 个答案:

答案 0 :(得分:0)

需要array_intersect而不是array_filter

foreach ($array1 as $m) {
    $m = array_intersect($array2, $array1);
}