共計 956 個字符,預計需要花費 3 分鐘才能閱讀完成。
要實現 PHP 無限級樹,可以通過以下幾個步驟來實現:
- 創建一個多維數組來存儲樹的節點。每個節點需要包括一個唯一的 ID、父節點 ID、名稱和其他相關數據。
- 遍歷數組,將每個節點插入到對應的父節點下??梢允褂眠f歸函數來實現。
- 給每個節點添加一個 ”children” 屬性,用于存儲其子節點。
- 遞歸遍歷樹的節點,將子節點添加到父節點的 ”children” 屬性中。
- 最后得到一個完整的無限級樹。
下面是一個示例代碼:
function buildTree($data, $parentId = 0) {$tree = array();
foreach ($data as $node) {if ($node['parent_id'] == $parentId) {$children = buildTree($data, $node['id']);
if ($children) {$node['children'] = $children;
}
$tree[] = $node;}
}
return $tree;
}
// 示例數據
$data = array(array('id' => 1, 'parent_id' => 0, 'name' => 'Node 1'),
array('id' => 2, 'parent_id' => 0, 'name' => 'Node 2'),
array('id' => 3, 'parent_id' => 1, 'name' => 'Node 1.1'),
array('id' => 4, 'parent_id' => 1, 'name' => 'Node 1.2'),
array('id' => 5, 'parent_id' => 2, 'name' => 'Node 2.1'),
array('id' => 6, 'parent_id' => 2, 'name' => 'Node 2.2'),
array('id' => 7, 'parent_id' => 3, 'name' => 'Node 1.1.1'),
);
$tree = buildTree($data);
print_r($tree);
以上示例中,buildTree
函數接受一個多維數組和一個父節點 ID 作為參數。它首先遍歷數組,找到所有具有相同父節點 ID 的節點,然后遞歸調用 buildTree
函數來找到這些節點的子節點。最后,它將子節點添加到父節點的 ”children” 屬性中,并返回一個完整的無限級樹。
丸趣 TV 網 – 提供最優質的資源集合!
正文完