我正在创建一个父子层次结构数组。请在数组下方找到并帮助我修复。
它parent_id在按顺序时工作正常,但我想保持我的数组值相同。
function Testing()
{
$tasks[] = array("id" => 1, "parent_id" => 0);
$tasks[] = array("id" => 2, "parent_id" => 5);
$tasks[] = array("id" => 3, "parent_id" => 2);
$tasks[] = array("id" => 5, "parent_id" => 3);
$tasks[] = array("id" => 4, "parent_id" => 3);
$tasks[] = array("id" => 6, "parent_id" => 5);
$tasks[] = array("id" => 7, "parent_id" => 6);
$tree = buildTree($tasks);
print("<pre>");print_r($tree);
}
function buildTree(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = buildTree($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
蓝山帝景