【发布时间】:2025-12-28 21:55:18
【问题描述】:
这是我所拥有的:
$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> 标记...
我开始看到星星……太混乱了。
【问题讨论】:
-
“家”在哪里适合您的输出?
-
@RobertCathey 对不起!这只是我在实际页面上工作的困惑。 > > 删除它。
-
我几乎拥有它。只是遇到了一个奇怪的问题。
-
知道了。将完全递归地工作。
-
向所有人致敬!经过测试,它们都有效。只选择了编码最短且最容易阅读的那个...@@;;
标签: php arrays if-statement multidimensional-array foreach