我有这棵树:
Array
(
[0] => Array
(
[id] => 1
[parent_id] => 0
[title] => Parent Page
[children] => Array
(
[0] => Array
(
[id] => 2
[parent_id] => 1
[title] => Sub Page
),
[1] => Array
(
[id] => 5
[parent_id] => 1
[title] => Sub Page 2
)
)
)
[1] => Array
(
[id] => 4
[parent_id] => 0
[title] => Another Parent Page
)
)
我正在寻找从上到下的显示。并显示类似这样的内容:
1
1.2
1.5
4
但如果我有 id 3,它是 5 的叶子,我会喜欢这样:
1
1.2
1.5
1.5.3
4
我进行了很多搜索,当我使用递归时,我的大脑是有限的。
我已经尝试过这个:
function printAll($a){
foreach ($a as $v){
if (!array_key_exists('children', $v)){
debugLog($v['id']);
return;
}
else{
$arrayChildrens = $v['children'];
foreach($arrayChildrens as $c){
$arrayChildrens = $c['children'];
$this->printAll($arrayChildrens);
}
}
}
}
但不起作用..我尝试开始只是为了显示
1
2
5
4
但我的目标是在 id 之前显示 id 父母(就像我之前向你展示的那样)
多谢 !
元芳怎么了
MYYA