91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

利用PHP遞歸函數處理多級菜單

PHP
小樊
121
2024-04-26 19:56:48
欄目: 編程語言

下面是一個使用PHP遞歸函數處理多級菜單的示例代碼:

// 定義多級菜單數組
$menuItems = array(
    array('id' => 1, 'name' => '菜單1', 'parent_id' => 0),
    array('id' => 2, 'name' => '子菜單1.1', 'parent_id' => 1),
    array('id' => 3, 'name' => '子菜單1.2', 'parent_id' => 1),
    array('id' => 4, 'name' => '菜單2', 'parent_id' => 0),
    array('id' => 5, 'name' => '子菜單2.1', 'parent_id' => 4),
);

// 定義遞歸函數
function buildMenu($items, $parentId = 0) {
    $html = '<ul>';
    foreach ($items as $item) {
        if ($item['parent_id'] == $parentId) {
            $html .= '<li>' . $item['name'];
            $html .= buildMenu($items, $item['id']);
            $html .= '</li>';
        }
    }
    $html .= '</ul>';
    return $html;
}

// 輸出多級菜單
echo buildMenu($menuItems);

在上面的示例中,我們首先定義了一個包含多級菜單數據的數組 $menuItems,然后定義了一個遞歸函數 buildMenu,該函數接收兩個參數:菜單數組和父級菜單的ID。遞歸函數會遍歷菜單數組,將符合父級菜單ID的子菜單遞歸添加到HTML字符串中,并返回最終的HTML代碼。

最后,我們調用 buildMenu 函數并傳入 $menuItems 數組,以輸出多級菜單的HTML代碼。通過遞歸函數的方式,我們可以處理任意級別的菜單結構。

0
慈溪市| 元氏县| 本溪| 轮台县| 容城县| 黑龙江省| 怀集县| 保定市| 拜城县| 泸水县| 苍梧县| 辛集市| 池州市| 嫩江县| 安泽县| 井陉县| 淮阳县| 濮阳市| 昭觉县| 连江县| 阳朔县| 文山县| 湖州市| 昭苏县| 义乌市| 万盛区| 莱西市| 曲松县| 嘉黎县| 云龙县| 伊金霍洛旗| 景泰县| 闻喜县| 唐河县| 深水埗区| 叙永县| 剑阁县| 繁昌县| 昆明市| 双牌县| 马龙县|