我没有研究这一点,是不是能够找到一个确切的答案。关于这方面的大部分问题/答案似乎尚未完成。如果有人知道类似于我的问题的完成解决方案,请指出我的方向!从PHP多维数组创建导航菜单动态
这里是我的数组:
Array
(
['home'] => Array
(
[0] => sub-home1
[1] => sub-home2
)
['about'] => Array
(
[0] => sub-about
['about2'] => Array
(
[0] => sub-sub-about
)
)
['staff'] => Array
(
[0] => sub-staff1
[1] => sub-staff2
)
['contact'] => contact
)
这里是我想变成什么:
<ul>
<li><a href="">home<a/>
<ul>
<li><a href="">sub-home1</a></li>
<li><a href="">sub-home2</a></li>
</ul>
</li>
<li><a href="">about<a/>
<ul>
<li><a href="">sub-about</a></li>
<li><a href="">about2</a>
<ul>
<li><a href="">sub-sub-about<a/></li>
</ul>
</li>
</ul>
</li>
<li><a href="">staff<a/>
<ul>
<li><a href="">sub-staff1</a></li>
<li><a href="">sub-staff2</a></li>
</ul>
</li>
<li><a href="">contact<a/></li>
</ul>
阵列将被动态生成的,但将有3个级别的限制例如:约 - >约2 - >亚约约。我试过脱离这个问题:PHP/MySQL Navigation Menu但他们似乎没有真正得出结论?我对foreach的while和for循环很熟悉,但我似乎无法把头围绕在这个之上。
编辑:Enzino,你的代码工作!
我觉得你在这里需要的是一个递归函数来解析数组。对不起,我不能(关闭我的头顶)给出一个例子,但这是必然的递归的一种情况。 – Matt 2012-07-31 19:06:45
是的,我试图找到一个很好的例子,没有多少在那里! – 2012-07-31 19:16:04
你想找到一个DFS(深度优先搜索)算法,并将其落实到输出列表。 – Matt 2012-07-31 19:17:21