这是我的数组:
$myArray = array(
array("name"=>"Andrea", "Age"=>17),
array("name"=>"Tresna", "Age"=>20),
array("name"=>"Aria", "Age"=>12)
);
我想通过数组中的值来过滤多数组。这是我的过滤器:
$filter = array("Andrea", "Aria");
所以结果一定是这样的:
$newArray = array(
array("name"=>"Andrea", "Age"=>17),
array("name"=>"Aria", "Age"=>12)
);
怎么能那样做?
提示已经存在,要筛选,请使用array_filter
。
不要忘记使用use
关键字导入您的条件。
示例:
$newArray = array_filter($myArray, function($e) use ($filter){
// ^ import criteria
return in_array($e['name'], $filter);
});
$myArray = array(
array("name"=>"Andrea", "Age"=>17),
array("name"=>"Tresna", "Age"=>20),
array("name"=>"Aria", "Age"=>12)
);
$filter = array("Andrea", "Aria");
foreach($myArray as $arr)
{
foreach($filter as $value)
{
if(in_array($value,$arr))
{
$finalArr[]=$arr;
}
}
}
$finalArr是您的结果