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; } }
Автор: Из сети
Коментировать