0
我目前正在呼應來自查詢的數組,我需要將它們呈現在嵌套的無序列表中。我試圖找到一種方法來無限地執行此過程,因爲我目前手動回顯每個嵌套的ul(如果它們有一個),直到手動編碼的深度。如果有辦法自動迴應ul的深度「n」,請幫助我。PHP:動態嵌套無序列表
這是我目前唯一的邏輯呼應高達深度5:
<ul class="parent_tree"><?php
foreach($category_tree as $category_level_1)
{
echo '<li><a href="#">' . $category_level_1['name'] . '</a>';
if(array_key_exists('children', $category_level_1))
{
echo '<ul>';
foreach($category_level_1['children'] as $category_level_2)
{
echo '<li><a href="#">' . $category_level_2['name'] . '</a>';
if(array_key_exists('children', $category_level_2))
{
echo '<ul>';
foreach($category_level_2['children'] as $category_level_3)
{
echo '<li><a href="#">' . $category_level_3['name'] . '</a>';
if(array_key_exists('children', $category_level_3))
{
echo '<ul>';
foreach($category_level_3['children'] as $category_level_4)
{
echo '<li><a href="#">' . $category_level_4['name'] . '</a>';
if(array_key_exists('children', $category_level_4))
{
echo '<ul>';
foreach($category_level_4['children'] as $category_level_5)
{
echo '<li><a href="#">' . $category_level_5['name'] . '</a>';
//level 6 goes here
echo '</li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';
}
echo '</li>';
}
echo '</ul>';
}
echo '</li>';
}
?>
</ul>
你聽說過遞歸嗎? – deadlock 2013-02-21 04:08:55
[回聲菜單樹與遞歸函數]的可能重複(http://stackoverflow.com/questions/10782810/echo-menu-tree-with-recursive-function) – mario 2013-02-21 04:11:43