ホームページ >バックエンド開発 >PHPチュートリアル >再帰関数はどのようにしてフラット データベースの結果から多次元配列を構築できるのでしょうか?
再帰関数を使用したデータベース結果からの多次元配列の生成
ページやカテゴリなどの階層データを表す入れ子になった配列を生成するには、再帰関数を使用します採用されることが多いです。目標は、データベース レコードのフラット配列を取得し、それを親子関係を反映する構造化配列に変換することです。
ツリー構築のための再帰関数
以下関数 buildTree はこのタスクを達成します:
def buildTree(elements, parentId=0): branch = [] for element in elements: if element['parent_id'] == parentId: children = buildTree(elements, element['id']) if children: element['children'] = children branch.append(element) return branch
その仕組みWorks
使用例
データベースレコードを階層ツリーに処理するには、 use:
tree = buildTree(database_result)
ツリー変数には、ページまたはカテゴリの階層構造を表すネストされた配列が含まれるようになります。
以上が再帰関数はどのようにしてフラット データベースの結果から多次元配列を構築できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。