按数组中的值过滤多维数组[重复]

问题描述 投票:0回答:2

这是我的数组:

$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)
);

怎么做?

php arrays multidimensional-array array-filter
2个回答
5
投票

提示已经有了,要filter,用

array_filter
.

不要忘记使用

use
关键字来导入您的标准。

例子:

$newArray = array_filter($myArray, function($e) use ($filter){
                                                //    ^ import criteria
    return in_array($e['name'], $filter);
});

0
投票
$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 是你的结果

© www.soinside.com 2019 - 2024. All rights reserved.