データベース結果から多次元配列を構築する再帰関数
問題:
ページとカテゴリの配列をフラット化されたデータベースの結果から、構造化された階層関係を持つネストされた配列。
解決策:
提供される解決策は、単純で汎用的なアプローチを提供します。
function buildTree(array $elements, $parentId = 0) { $branch = array(); foreach ($elements as $element) { if ($element['parent_id'] == $parentId) { $children = buildTree($elements, $element['id']); if ($children) { $element['children'] = $children; } $branch[] = $element; } } return $branch; }
説明:
アルゴリズムは次のように動作します。
初期実行 (ParentId = 0):
再帰実行 (ParentId != 0):
階層の構築:
戻り結果:
この関数をデータベースの結果に適用すると、組織化された結果が得られます。目的の出力で例示されるように、詳細な階層関係を含む配列。このアプローチは多用途であり、ページとカテゴリの両方に適用できます。
以上がフラットデータベースの結果から多次元配列を再帰的に構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。