【发布时间】:2011-09-18 23:55:49
【问题描述】:
我有一个看起来像这样的多维数组
[0] => Array
(
[recordId] => 5
[leaf] => 1
[children] => Array
(
[0] => Array
(
[recordId] => 6
[leaf] => 1
[children] => Array
(
[0] => Array
(
[recordId] => 7
[leaf] => 1
)
)
)
[1] => Array
(
[recordId] => 8
[leaf] => 1
[children] => Array
(
[0] => Array
(
[recordId] => 9
[leaf] => 1
)
[1] => Array
(
[recordId] => 10
[leaf] => 1
)
)
)
)
)
每个节点都有一个默认为 TRUE 的“叶子”键,如果还有更多节点向下,则有一个“子”数组。
如果节点中包含“子”数组,我需要将“叶”键值设置为 FALSE。这样,只有最终节点具有 Leaf = TRUE 名称。
我尝试过搜索,但找不到代码来做我需要的事情,而且我无法理解我认为需要的递归函数。
有什么想法可以在 PHP 中完成吗?
感谢您的帮助。
【问题讨论】:
-
请记住,
1和true不是一回事。 -
另外,我认为'leaf'源自没有任何子节点的节点,即(在我看来)叶子的定义(>它没有任何子节点)。
-
@Frits:所以一个空的
children数组应该是孩子还是不是?
标签: php arrays recursion tree multidimensional-array