在PHP递归,我有这样的结构:具体算法来通过树结构在PHP
Array
(
[0] = Array
(
'id' => 1,
'parent' => 0
)
[1] = Array
(
'id' => 2,
'parent' => 1
)
[2] = Array
(
'id' => 3,
'parent' => 1
)
[3] = Array
(
'id' => 4,
'parent' => 2
)
)
的id
是一个独特的整数,并且是parent
到参考另一元件的id
。如果parent
为0,那么它没有父项。树结构看起来像这样:
1 -> 2 -> 4
-> 3
(我希望是明确的!)。我一直在试图确定一个算法,它将生成一个嵌套数组或类似的输出来显示树层次结构,以便我可以使用它;例如一个这样的输出将是:tree = ['1' => ['2' => ['4'], '3']]]
。该算法可以支持任意深度的数组;但我限制它的条件是一个孩子不能有一个以上的父母。
对于非标准语法的道歉,我希望它能有效地传达我想要实现的,这是深度优先搜索,我认为 - 但是我遇到的实现太干了,我的理解所以我会很感激一些帮助。
可能的[如何将一系列父子关系转换为分层树?](http://stackoverflow.com/questions/2915748/how-can-i-convert-a-series-of -parent-child-relationships-into-a-hierarchical-tre) – jeroen 2012-03-12 22:35:14