我有以下数组:
Array
(
[1] => 0
[2] => 1
[3] => 2
[4] => 3
[5] => 1
[6] => 0
)
此数组的键是唯一的,并且值显示键的父级。就像 1 和 6 的父级是 0,2 的父级是 1,因为 3 是 2....
我正在编写一个递归函数,它将找到给定父 ID 的树视图。这是我的代码:
function recurviceChild($parent, $childParent, $resultArr = array()) {
foreach ($childParent as $key => $parentId) {
if ($parent == $parentId) {
$resultArr[$parentId][] = $key;
$resultArr = $this->recurviceChild($key, $childParent, $resultArr);
}
}
return $resultArr;
}
我创建的函数给了我一级深度的结果。如果我为 $parent=1 调用此函数($childParent 是上面给出的数组),则此函数的结果是:
Array
(
[1] => Array
(
[0] => 2
[1] => 5
)
[2] => Array
(
[0] => 3
)
[3] => Array
(
[0] => 4
)
)
我期待这样的结果:
Array
(
[1] => Array
(
[2] => Array
(
[3] => Array
(
[0] => 4
)
)
)
[2] => 5
)
或帮助我创建树视图的东西。先感谢您。