PHP按特定键过滤2维数组

Aiv*_*ler 3 php filtering multidimensional-array

我有这个数组:

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

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

        )

    [fcb0d055] => Array
        (
            [type] => page
            [id] => fcb0d055
        )
)
Run Code Online (Sandbox Code Playgroud)

我想过滤数组,只保留类型"文件夹":

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

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

        )

)
Run Code Online (Sandbox Code Playgroud)

我可以做到这一点,但我需要一个通用的功能:

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

mfo*_*nda 19

你可以使用array_filter:

$filtered = array_filter($array, function($v) { return $v['type'] == 'folder'; });
Run Code Online (Sandbox Code Playgroud)