Php 从树中获取元素并保留中间节点

Php 从树中获取元素并保留中间节点,php,Php,我有一个数组中的树,看起来像 Array ( [0] => Array ( [item] => Array ( [id] => 28 [parent_id] => 0 [name] => ccc ) [child

我有一个数组中的树,看起来像

Array
(
    [0] => Array
        (
            [item] => Array
                (
                    [id] => 28
                    [parent_id] => 0
                    [name] => ccc
                )

            [children] => Array
                (
                    [0] => Array
                        (
                            [item] => Array
                                (
                                    [id] => 29
                                    [parent_id] => 28
                                    [name] => aaaa
                                )

                            [children] => Array
                                (
                                )
                        )

                    [1] => Array
                        (
                            [item] => Array
                                (
                                    [id] => 32
                                    [parent_id] => 28
                                    [name] => bbb
                                )

                            [children] => Array
                                (
                                )                        )

                }
        }
}
我想得到一些节点,但以父节点为例

如果我有这样的树

1
 ---2
 ---3
    ---4
    ---5
 ---6
我对我想得到的{1,2,4}感兴趣

1
---2
---3
   ---4

因此,我需要数组中的节点以及节点之间路径上的所有节点,但我不知道该怎么做

您只需要节点的第一个子节点?您需要遍历所有感兴趣节点的祖先,并将它们(以及子节点)放入列表中,然后遍历整个树,删除列表中不包含的节点。能否进一步说明预期输出?此外,如果您显示生成此ayyay的脚本,也会很容易