可以說,我有一個具有水平的記錄,它表示一個樹層次結構表如何在PHP/CodeIgniter中構建多維嵌套數組?
id group parent_group_id
--------- ---------- ---------------
1 Parent 1 NULL
2 Parent 2 NULL
3 Parent 3 NULL
4 Child 1 1
5 Child 2 2
6 Child 3 2
7 Child 4 6
我需要,使其在「頂」,由開始的目標是構建一個遞歸函數來構建一個多維嵌套數組首先構建parent_group_ids爲NULL的行的頂層數組。快進幾個迭代,即時通訊期待與像這樣
$result = array(
[0] => array(
'id' => 1,
'group' => 'Parent 1',
'parent_group_id' => NULL,
'children' => array(
[0] => array(
'id' => 4,
'group' => 'Child 1'
'parent_group_id' => 1,
'children' => NULL)),
[1] => array(
'id' => 2,
'group' => 'Parent 2',
'parent_group_id' => NULL,
'children' => array(
[0] => array(
'id' => 5,
'group' => 'Child 2'
'parent_group_id' => 2,
'children' => NULL),
[1] => array(
'id' => 6,
'group' => 'Child 3'
'parent_group_id' => 2,
'children' => array(
[0] => array(
'id' => 1,
'group' => 'Child 4'
'parent_group_id' => 6,
'children' => NULL)))
什麼是要建立這樣的事情最好的辦法的目的是結束了?我需要確保它遍歷每個「分支」。我猜是什麼時候它獲得頂級父母的ID,然後繼續檢查是否存在具有等於來自第一次運行的每個ID的parent_group_id的行。然後,如果發現孩子,請獲取這些孩子的ID,然後再次檢查孩子是否存在。等等等等,直到它運行出ID來檢查。
我不熟悉foreach循環來拉出這樣的東西。
好吧,當我在所有的元素getAreaTree(初始調用)的result_array過去了,我得到的是前兩個頂級元素和沒有孩子/孫子 編輯:沒關係,我修改你的代碼重命名一些東西並錯過重命名。 –