Посоветуйте, как с наименьшими затратами вывести дерево? есть массив, каждый элемент которого имеет структуру в 3 поля - ID, Parent, Name. ID - уникальный нумер Parent - родительский элемент (ИД родительского элемента) Name - имя, текст элементы с id=0 находятся в корне дерева. Как вывести их деревом?
вообще было бы классно на выходе получить массив, в котором ветви дерева были бы вложенными массивами
Ну вот на днях написал PHP: <? function ttree($DB, $pid, $level){ global $menu; global $level; $level++; $sql="select * from table where pid='.$pid.' order by id"; $res=$DB->select($sql); if ($res){ foreach($res as $row){ $row['level']=$level; $menu[]=$row; ttree($DB, $row['id'], $level); $level--; } } return $menu; } $res=ttree($DB, 0, 0); if ($res){ foreach($res as $row){ echo '<div>'.str_repeat(' ', $row['level']).$row['title'].'</div>'; } } ?>