我在数据库中有一个列表,如下所示:
ID | VAL1|menu1>子菜单12|menu1>子菜单1>子菜单13|menu1>子菜单1>子菜单24|menu1>子菜单1>子菜单35|menu1>子菜单1>子菜单3>lastmenu16|menu2>submenu1。。。
我想用它来生成一个有序的列表,比如这个:
-菜单1-submenu1(a href="#"(-subsubbmenu1(a href="$id"(-subsubbmenu2(a href="$id"(-subsubbmenu3(a href="#"(-lastmenu1(a href="$id"(-menu2(a href="#"(-submenu1(a href="$id"(
如何使用PHP(如果需要,还可以使用jQuery(实现它
提前谢谢。
$a = [
1 => "menu1 > submenu1",
2 => "menu1 > submenu1 > subsubmenu1",
3 => "menu1 > submenu1 > subsubmenu2",
4 => "menu1 > submenu1 > subsubmenu3",
5 => "menu1 > submenu1 > subsubmenu3 > lastmenu1",
6 => "menu2 > submenu1 ",
];
function addMenuItem(&$arr, array $items, $id) {
$a = &$arr;
while ($name = array_shift($items)) {
if (!isset($a[$name])) {
$a[$name] = [
'id' => $id,
'items' => [],
];
}
$a = &$a[$name]['items'];
}
}
$menu = [];
foreach($a as $id => $i) {
$menuItem = explode(' > ', $i);
addMenuItem($menu, $menuItem, $id);
}
var_dump($menu);