PHP Построение дерева без рекурсии
Для ускорения работы построения дерева можно использовать особый метод. Мне понадобилось нарыл в интернете, добавил для себя, чтоб не забыть, кому интересно изучайте!
$ret = array(
1=>array("id"=>1, "parent_id"=>0),
2=>array("id"=>2, "parent_id"=>0),
3=>array("id"=>3, "parent_id"=>1),
4=>array("id"=>4, "parent_id"=>3),
5=>array("id"=>5, "parent_id"=>4),
6=>array("id"=>6, "parent_id"=>2),
);
foreach ($ret as $id => $node) {
if (isset($ret[$node['parent_id']])) {
$ret[$node['parent_id']]['sub'][$id] =& $ret[$id];
}
}
$return = array();
foreach ($ret as $k=>$v){
if($v["parent_id"] == 0){
$return[$k]= $v;
}
}
Автор: Из сети
Коментировать