從資料庫結果建構多維數組的遞歸函數
問題:
問題:您尋求一個遞歸函數能夠從扁平資料庫結果轉換頁面和類別數組到具有結構化層次關係的巢狀數組。
解決方案: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; }
提供的解決方案提供了一個簡單且通用的方法:
解釋:演算法的運作方式為如下所示:
該函數最終會傳回一個代表層次結構的完整巢狀數組。
將此函數應用於資料庫結果,您將獲得一個有組織的具有細粒度層次關係的數組,如您所需的輸出所示。這種方法用途廣泛,可以應用於頁面和類別。以上是如何從平面資料庫結果遞歸建構多維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!