재귀 함수에 문제가 있습니다. 나 좀 도와 줄 수 있겠 니? 아래 내 기능 :php | 재귀가있는 버그
function showTree($items, $level = 0) {
$arr = [];
foreach ($items as $item) {
$arr[] = str_repeat(":", $level * 2) . $item['name'] . "<br />";
if (!empty($item['children'][0])) {
$level++;
$arr[] = $this->showTree($item['children'], $level);
}
}
return $arr;
}
그리고이 출력을 생성합니다
Array
(
[0] => Category1
[1] => Array
(
[0] => ::SubCategory2
[1] => ::SubCategory1
[2] => Array
(
[0] => ::::SubSubCategory
)
)
)
을하지만 내 출력으로 조금 다른 데이터가 필요
Array
(
[0] => Category1
[1] => ::SubCategory2
[2] => ::SubCategory1
[3] => ::::SubSubCategory
)
내 실수 어디에 있습니까? 감사!
P> S :
입력 :
Array
(
[0] => Array
(
[id] => 1
[name] => Category1
[parent] => 0
[children] => Array
(
[0] => Array
(
[id] => 4
[name] => SubCategory2
[parent] => 1
[children] => Array
(
)
)
[1] => Array
(
[id] => 2
[name] => SubCategory1
[parent] => 1
[children] => Array
(
[0] => Array
(
[id] => 3
[name] => SubSubCategory
[parent] => 2
[children] => Array
(
)
)
)
)
)
)
)
레벨을 아무데도 줄이지 않았습니다. 제발, 당신의 입력 배열은 다른 사람들에게 보여주세요. – vaso123
준비. 질문에 데이터를 입력하십시오. – user889349