按数组中的值筛选多维数组



这是我的数组:

$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是您的结果

相关内容

  • 没有找到相关文章

最新更新