Был просто массив. Отсортировал массив по parent_id. Как мне сделать дерево неограниченной вложенности рекурсией ? PHP: $cat_data = unserialize($c_cat); $result = array(); function get_cat($cat_data) { foreach ($cat_data as $key => $category) { if(empty($result[$category->parent_id])) { $result[$category->parent_id] = array(); } $result[$category->parent_id][] = $category; } return $result; } $result = get_cat($cat_data); print_r($result);
Вы в курсе, что в вашем же вопросе ответ дан? Рекурсией и сделать. Классическая задача. Перебирете элементы. Проверяете, есть ли у элемента ветвь. Если есть, засылаете ее в ту же функцию и так далее. При этом собираете листья ретурном. Когда рекурсия дойдет до логического конца, она начнет "разматываться", и ретурны начнут по цепочке возвращать содержимое листьев.