<?php
$menu = array(
array('name'=>'test1','parent'=>0),
array('name'=>'test2','parent'=>0),
array('name'=>'test3','parent'=>1),
array('name'=>'test4','parent'=>2),
array('name'=>'test5','parent'=>3),
);
$tree = array();
foreach($menu as $row){
if ($row['parent'] == 0){
$tree[$row['name']] = array();
} else {
$tree[$menu[$row['parent']-1]['name']][$row['name']] = array();
}
}
function showTree($tree) {
foreach ($tree as $key => $value) {
echo $key."<br>";
if(!empty($value))
showTreeMore($value);
}
}
function showTreeMore($tree) {
foreach ($tree as $key => $value) {
echo '    '.$key.'<br>';
if(!empty($value))
showTreeMore($value);
}
}
showTree($tree);
结果:
test1
test3
test2
test4
test5
07-09
358
03-27
226