基于第二个数组过滤数组

Filter array based on second array

我有一个数组$data,需要根据另一个数组$clr进行过滤。我已经通过 foreach 完成并解决了我的目的,但我正在寻找像 mapfilter 这样的最佳方式。我试过的是:

$clr = [1, 2, 4, 6, 8, 13, 21];
$data = [2, 3, 8];

foreach($clr as $val)
{
    if(($key = array_search($val, $data)) !== false) unset($data[$key]);
}

print '<pre>';
print_r($data);

我们将不胜感激您的任何建议。

您可以使用 array_diff($data, $clr); live demo.