中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

php遞歸實現無限級分類的方法是什么

PHP
小億
91
2023-10-14 03:57:10
欄目: 編程語言

實現無限級分類的一種常用方法是使用遞歸。

下面是一個使用遞歸實現無限級分類的示例代碼:

function buildTree($categories, $parentId = 0) {
$tree = array();
foreach ($categories as $category) {
if ($category['parent_id'] == $parentId) {
$children = buildTree($categories, $category['id']);
if ($children) {
$category['children'] = $children;
}
$tree[] = $category;
}
}
return $tree;
}
// 示例數據
$categories = array(
array('id' => 1, 'parent_id' => 0, 'name' => 'Category 1'),
array('id' => 2, 'parent_id' => 0, 'name' => 'Category 2'),
array('id' => 3, 'parent_id' => 1, 'name' => 'Category 1.1'),
array('id' => 4, 'parent_id' => 1, 'name' => 'Category 1.2'),
array('id' => 5, 'parent_id' => 3, 'name' => 'Category 1.1.1'),
array('id' => 6, 'parent_id' => 2, 'name' => 'Category 2.1'),
);
$tree = buildTree($categories);
print_r($tree);

輸出結果:

Array
(
[0] => Array
(
[id] => 1
[parent_id] => 0
[name] => Category 1
[children] => Array
(
[0] => Array
(
[id] => 3
[parent_id] => 1
[name] => Category 1.1
[children] => Array
(
[0] => Array
(
[id] => 5
[parent_id] => 3
[name] => Category 1.1.1
)
)
)
[1] => Array
(
[id] => 4
[parent_id] => 1
[name] => Category 1.2
)
)
)
[1] => Array
(
[id] => 2
[parent_id] => 0
[name] => Category 2
[children] => Array
(
[0] => Array
(
[id] => 6
[parent_id] => 2
[name] => Category 2.1
)
)
)
)

上述代碼中,buildTree 函數接收一個包含分類數據的數組和一個指定的父分類ID。它通過遍歷分類數組,找到所有指定父分類ID的子分類,并用遞歸的方式繼續遍歷子分類的子分類,最終構建出一個無限級分類的樹形結構。

這樣,你就可以方便地使用這個樹形結構來展示無限級分類的數據。

0
沈丘县| 辛集市| 监利县| 焦作市| 芮城县| 饶阳县| 平凉市| 三门峡市| 花垣县| 信阳市| 淮南市| 镇坪县| 武穴市| 香河县| 新兴县| 泽库县| 苍南县| 凤山市| 建平县| 长泰县| 雅江县| 克拉玛依市| 涡阳县| 衡东县| 修水县| 宜城市| 莱州市| 阜南县| 乐平市| 通州市| 建湖县| 包头市| 斗六市| 吴堡县| 永福县| 托克托县| 夏邑县| 延吉市| 焉耆| 吴旗县| 昌图县|