當檢索從MySQL的層級結構(具有一個ID列和一個PARENT列標誌着分層關係表),我的結果映射到如下枚舉陣列(在這個例子中的數字是任意的):PHP數組 - 如何將一維數組轉換爲嵌套多維數組?
Array ([3] => Array ([7] => Array()), [7] => Array ([8] => Array()))
通知3是7的父親,而7是8的父親(這可以繼續;並且任何父母可以有多個孩子)。
我想這個陣列收縮成嵌套多維數組如下:
Array ([3] => Array ([7] => Array ([8] => Array())))
即,每個新的ID被自動地分配一個空數組。無論如何,任何ID的孩子都會被推入父母的陣列。
看看下面的圖作進一步澄清:
alt text http://img263.imageshack.us/img263/4986/array.gif
這可能會導致一個複雜的遞歸操作,因爲我總是要檢查是否父與任何特定的ID已經存在(如果是這樣,請將值推入其數組中)。
是否有一個內置的PHP函數可以幫助我呢?你有什麼想法如何去構建這個?爲了什麼值得我用這個在wordpress中建立一個導航欄(它可以包含類別,子類別,帖子...基本上任何東西)。
+1爲漂亮的圖形:) – Alec 2010-05-23 17:26:27