PHP фильтр 2-мерный массив по определенному ключу - PullRequest
3 голосов
/ 08 сентября 2011

У меня есть этот массив:

Array
(
    [702a4584] => Array
        (
            [type] => folder
            [id] => 702a4584
        )

    [b547b3a9] => Array
        (
            [type] => folder
            [id] => b547b3a9

        )

    [fcb0d055] => Array
        (
            [type] => page
            [id] => fcb0d055
        )
)

Я хочу отфильтровать массив так, чтобы остался только тип "папка":

Array
(
    [702a4584] => Array
        (
            [type] => folder
            [id] => 702a4584
        )

    [b547b3a9] => Array
        (
            [type] => folder
            [id] => b547b3a9

        )

)

Я мог бы сделать это, но я 'Вам понадобится общая функция:

$temp = array();
foreach($array as $key => $value)
{
    if($value['type'] =="folder")
    {
        $temp[$key] = $value; 
    }
}

Ответы [ 2 ]

19 голосов
/ 08 сентября 2011

Вы можете использовать array_filter:

$filtered = array_filter($array, function($v) { return $v['type'] == 'folder'; });
0 голосов
/ 16 октября 2014
$input = Array(1,2,3,1,2,3,4,5,6);
$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
...