基于第二个数组过滤数组
Filter array based on second array
我有一个数组$data
,需要根据另一个数组$clr
进行过滤。我已经通过 foreach
完成并解决了我的目的,但我正在寻找像 map
或 filter
这样的最佳方式。我试过的是:
$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.
我有一个数组$data
,需要根据另一个数组$clr
进行过滤。我已经通过 foreach
完成并解决了我的目的,但我正在寻找像 map
或 filter
这样的最佳方式。我试过的是:
$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.