| Код | $array_items[0]['items'] = array(); // корень дерева foreach ($row = mysql_fetchrow($result)) ///* выборка строки из мускула */) { unset ($element); $id = $row['ID']; $parent_id = $row['ParentID'];
// сохранение информации if (!array_key_exists($id, $array_items)) { $array_items[$id] = array('ID' => $row['ID'], 'ParentID' => $row['ParentID'], 'Title' => $row['Title'], 'Items' => array()); } else { $array_items[$id]['ID'] = $row['ID']; $array_items[$id]['ParentID'] = $row['ParentID']; $array_items[$id]['Title'] = $row['Title']; }
// проверка существования родителя, иначе создание if (!array_key_exists($parent_id, $array_items)) { $array_items[$parent_id] = array('Items' => array()); } // $element = &$array_items[$id]; $parent = &$array_items[$parent_id]; $parent['items'][] = &$element; } $array_tree = $array_items[0]['Items']; // это и есть дерево
|
Можно и так... Быстро и сразу же, с одним доп. масивом |