Помогите понять, как работает код пошагово? Понятно, что этот код сортирует исходный массив с учетом иерархии. Но я не могу понять, как именно.
$array = array (
array('id' => 1,'parent' => 0,'title' => 'Ветка 1'),
array('id' => 2,'parent' => 1,'title' => 'Ветка 1.1'),
array('id' => 3,'parent' => 2,'title' => 'Ветка 1.1.1'),
array('id' => 4,'parent' => 1,'title' => 'Ветка 1.2'),
array('id' => 5,'parent' => 3,'title' => 'Ветка 1.2.1'),
array('id' => 6,'parent' => 4,'title' => 'Ветка 1.2.1.1'),
);
$tree = array();
$sub = array( 0 => &$tree );
foreach ($array as $item)
{
$id = $item['id'];
$parent = $item['parent'];
$child = &$sub[$parent];
$child[$id] = array();
$sub[$id] = &$child[$id];
}