这就是我所拥有的:
$nav = array (
"page 1" => array (
"page 1.1" => array (
"page 1.1.1"
"page 1.1.2"
) ,
"page 1.2"
)
"page 2" => array (
"page 2.1"
)
);
这就是我想要的:
<nav>
<ul>
<li>page 1
<ul>
<li>page 1.1
<ul>
<li>page 1.1.1</li>
<li>page 1.1.2</li>
</ul>
</li>
<li>page 1.2</li>
</ul>
</li>
<li>page 2
<ul>
<li>page 2.1</li>
</ul>
</li>
</ul>
</nav>
到目前为止我所拥有的:
foreach ($nav as $key => $val) {
if (!is_numeric($key)) {
$nav_entry = $key;
} else {
$nav_entry = $val;
}
echo "<li>" . $nav_entry . "</li>";
}
我的问题在于,如果有子数组,我需要有foreach循环.最重要的是,我需要以某种方式使用if语句来添加< ul>< / ul>标签…
我开始看到明星……太混乱了.
解决方法:
试试:)
function createMenu($nav){
echo "<ul>";
foreach($nav as $key => $row){
if(!is_array($row)){
echo "<li>".$row."</li>";
}else{
echo "<li>".$key;
createMenu($row);
echo "</li>";
}
}
echo "</ul>";
}
createMenu($nav);