我沒有研究這一點,是不是能夠找到一個確切的答案。關於這方面的大部分問題/答案似乎尚未完成。如果有人知道類似於我的問題的完成解決方案,請指出我的方向!從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