<?php
$category = [
[
'sort_id' => 11,
'sort_name' => '一级目录',
'sort_child' => 0
],
[
'sort_id' => 12,
'sort_name' => '二级目录',
'sort_child' => 11
],
[
'sort_id' => 13,
'sort_name' => '二级目录',
'sort_child' => 11
],
[
'sort_id' => 14,
'sort_name' => '三级目录',
'sort_child' => 13
],
[
'sort_id' => 15,
'sort_name' => '三级目录',
'sort_child' => 13
],
[
'sort_id' => 16,
'sort_name' => '三级目录',
'sort_child' => 13
],
[
'sort_id' => 17,
'sort_name' => '一级目录2',
'sort_child' => 0
],
[
'sort_id' => 18,
'sort_name' => '三级目录',
'sort_child' => 12
],
[
'sort_id' => 19,
'sort_name' => '三级目录',
'sort_child' => 12
]
];
$newCategory = [];
processCategory($category, 0, $newCategory);
$leave = 0;
foreach ($newCategory as $currentCategory) {
echo $currentCategory['sort_name'];
}
function processCategory(&$category, $parrentId, &$newCategory) {
foreach ($category as $currentCategory) {
if ($currentCategory['sort_child'] != $parrentId)
continue;
array_push($newCategory, $currentCategory);
processCategory(
$category, $currentCategory['sort_id'], $newCategory
);
}
}
preferences:
56.87 ms | 402 KiB | 5 Q