我在UL内部遇到UL问题。我是一个下拉菜单,在foreach上运行。
这是HTML:
<ul>
<li class='a1'>Menu
<ul class="sub"><li>Sub 1</li><li>Sub 2</li><li>Sub 3</li></ul>
</li>
这是PHP:
if($result) {
$i = 0;
foreach($result as $r) {
$i++;
echo utf8_encode("
<li class='a".$i."'>".$r['nm_categoria']."</li>
");
}
}
我不知道如何做到这一点。
答案 0 :(得分:0)
Use recursion:
$i = 0;
function makeUL($data)
{
$menu= '<ul>';
foreach ($data as $item)
{
$menu .= '<li class="a'.$i++.'" >';
$menu .= is_array($item) ? makeUL($item) : utf8_encode($item);
$menu .= '</li>';
}
$menu.= '</ul>';
return $menu;
}
echo makeUL($result);
现在在2D数组中使用mysql获取结果,如下所示
array(
Menu0(
sub1,
sub2,
sub3
)
Menu1(
sub1,
sub2,
sub3
)
Menu2,
Menu3,
Menu4(
sub1,
sub2,
sub3
)
)