【发布时间】:2017-05-08 09:47:50
【问题描述】:
我有一个数组$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);
您的任何建议将不胜感激。
【问题讨论】:
-
@SahilGulati 应该是
$data = array_diff($data,$clr);你弄错了参数顺序 -
你也可以使用array_filter。看看3v4l.org/i53Ma
标签: php arrays array-difference