我在PHP中的數組嵌套列表,它看起來像這樣:從創建多維數組
array (
[0] => array (
[id] => 1
[title] => "Title 1"
[parent_id] => NULL
[depth] => 0
)
[1] => array (
[id] => 2
[title] => "Title 2"
[parent_id] => NULL
[depth] => 0
)
[2] => array (
[id] => 3
[title] => "Title 3"
[parent_id] => 2
[depth] => 1
)
[3] => array (
[id] => 4
[title] => "Title 4"
[parent_id] => 2
[depth] => 1
)
[4] => array (
[id] => 5
[title] => "Title 5"
[parent_id] => NULL
[depth] => 0
)
[5] => array (
[id] => 6
[title] => "Title 6"
[parent_id] => 4
[depth] => 2
)
)
我想要做的就是遍歷這個數組,並從它創建一個嵌套<ol>
列表。所以結果應該是這樣的:
<ol>
<li>Title 1</li> // id = 1
<li>Title 2</li> // id = 2
<ol>
<li>Title 3</li> // id = 3 -> parent_id = 2
<li>Title 4</li> // id = 4 -> parent_id = 2
<ol>
<li>Title 6</li> // id = 6 -> parent_id = 4
</ol>
</ol>
<li>Title 5</li> // id = 5
</ol>
我一直在想辦法如何完成這件事。但到目前爲止,每一次嘗試失敗...
任何人任何想法如何,我可以創建這樣從這樣一個數組嵌套<ol>
列表?
請注意,我沒有給定數據的控制。我只是做出一個API的調用,並返回JSON數據,我轉換成數組。和數組看起來就像我所描述的。
表面看起來很簡單,但我認爲你仍然缺乏信息以便爲你的情況得到最好的答案。首先,你是如何獲得陣列的?它來自數據庫嗎?是否有可能以不同的方式儲存它,或者你以這種方式卡住?保證不會(現在或將來)的深度超過1或2,或者你會計劃做不確定數量的子級別嗎?這些類別多久添加一次或刪除?我建議你檢查一下http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/,因爲嵌套模型可能更符合你的需求。 – Mike