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

溫馨提示×

利用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
永寿县| 高要市| 晴隆县| 栾城县| 楚雄市| 庆安县| 漳州市| 贵州省| 禄丰县| 鄂尔多斯市| 连州市| 利川市| 方城县| 长沙市| 湖南省| 丹江口市| 长岛县| 将乐县| 巴林右旗| 文化| 南丹县| 太仓市| 屏东县| 比如县| 永胜县| 新巴尔虎左旗| 青田县| 长白| 安丘市| 宣恩县| 乌兰察布市| 阜南县| 布拖县| 五峰| 通化市| 清流县| 青海省| 尉犁县| 奈曼旗| 镇安县| 凤台县|