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

溫馨提示×

php遞歸怎么實現無限極分類

PHP
小億
82
2024-03-18 10:19:20
欄目: 編程語言

以下是一個使用PHP遞歸實現無限極分類的示例:

function buildTree($arr, $parentId = 0) {
    $tree = array();
    
    foreach ($arr as $item) {
        if ($item['parent_id'] == $parentId) {
            $children = buildTree($arr, $item['id']);
            if ($children) {
                $item['children'] = $children;
            }
            $tree[] = $item;
        }
    }
    
    return $tree;
}

// 示例數據
$data = array(
    array('id' => 1, 'name' => 'Category 1', 'parent_id' => 0),
    array('id' => 2, 'name' => 'Category 1.1', 'parent_id' => 1),
    array('id' => 3, 'name' => 'Category 1.2', 'parent_id' => 1),
    array('id' => 4, 'name' => 'Category 1.2.1', 'parent_id' => 3),
    array('id' => 5, 'name' => 'Category 2', 'parent_id' => 0),
    array('id' => 6, 'name' => 'Category 2.1', 'parent_id' => 5),
    array('id' => 7, 'name' => 'Category 2.1.1', 'parent_id' => 6),
);

$tree = buildTree($data);
var_dump($tree);

在這個示例中,buildTree 函數接收一個包含分類數據的數組和一個父分類的ID作為參數。它會遍歷數組中的每個分類,如果發現某個分類的 parent_id 等于給定的父分類ID,則遞歸地將該分類添加到其父分類的 children 屬性中,并將其加入到返回的樹中。

最后,通過調用 buildTree 函數并傳入示例數據,我們可以得到一個無限級分類的樹形結構。

0
肥东县| 卢湾区| 印江| 获嘉县| 兴义市| 横山县| 罗定市| 阿鲁科尔沁旗| 浦东新区| 双峰县| 清流县| 会理县| 承德县| 武冈市| 聂拉木县| 辽阳市| 诸城市| 滦平县| 榆社县| 泰和县| 南丰县| 南京市| 武邑县| 牙克石市| 土默特左旗| 扬中市| 临江市| 扬州市| 深泽县| 米林县| 勃利县| 三江| 云南省| 浮梁县| 遵化市| 小金县| 泉州市| 隆子县| 慈溪市| 巴青县| 山西省|