Существует множество примеров использования RecursiveIterator для выравнивания древовидной структуры ... но как насчет использования его для взрыва древовидной структуры?
Существует ли элегантный способ использовать это или какую-то другую библиотеку SPL для рекурсивного построения дерева (читай: превратить плоский массив в массив произвольной глубины) с использованием такой таблицы:
SELECT id, parent_id, name FROM my_tree
EDIT:
Вы знаете, как вы можете сделать это с помощью каталогов?
$it = new RecursiveDirectoryIterator("/var/www/images");
foreach(new RecursiveIteratorIterator($it) as $file) {
echo $file . PHP_EOL;
}
.. Что если бы вы могли сделать что-то вроде этого:
$it = new RecursiveParentChildIterator($result_array);
foreach(new RecursiveIteratorIterator($it) as $group) {
echo $group->name . PHP_EOL;
// this would contain all of the children of this group, recursively
$children = $group->getChildren();
}
: КОНЕЦ РЕДАКТИРОВАНИЯ