RecursiveIteratorを使用してツリー構造を平坦化する例はたくさんありますが、それを使用してツリー構造を分解するのはどうでしょうか。
これを使用するエレガントな方法、または他のSPLライブラリを使用して、次のようなテーブルを指定してツリーを再帰的に構築する方法はありますか(読み取り:フラット配列を任意の深さの配列に変換します)。
SELECT id, parent_id, name FROM my_tree
編集: ディレクトリでこれを行う方法を知っていますか?
$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();
}
:編集終了