如何从多维数组中获取所有值

Pat*_*raj 2 php arrays multidimensional-array

海先来看看这个阵列,

Array
(
    [0] => Array
        (
            [id] => 4
            [parent_id] => 3
            [children] => Array
                (
                    [0] => Array
                        (
                            [id] => 7
                            [parent_id] => 4
                            [children] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 6
                                            [parent_id] => 7
                                            [children] => Array
                                                (
                                                    [0] => Array
                                                        (
                                                            [id] => 2
                                                            [parent_id] => 6
                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

    [1] => Array
        (
            [id] => 5
            [parent_id] => 3
        )

)
Run Code Online (Sandbox Code Playgroud)

我需要一个所有id [IE:4,7,6,2,5]的输出是我需要的东西的理想结果

foreach ($tree as $j) {
    echo $j['id'];
    if($j['children']){

    }
Run Code Online (Sandbox Code Playgroud)

但是如何将它循环以获得所有孩子的?我无法捕获所有的子元素,否则我被无法循环的问题是如何在PHP中获得所需的结果?任何建议将非常感谢!

Jet*_*eto 6

这样的事情应该这样做:

$result = [];
array_walk_recursive($input, function($value, $key) use(&$result) {
    if ($key === 'id') {
        $result[] = $value;
    }
});
Run Code Online (Sandbox Code Playgroud)