В настоящее время я повторяю массив, исходящий из запроса, и мне нужно представить их во вложенных неупорядоченных списках. Я пытаюсь найти способ сделать эту процедуру бесконечно, потому что в настоящее время я вручную перекликаю каждую вложенную 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
Возможный дубликат [Дерево меню эха с рекурсивной функцией] (http://stackoverflow.com/questions/10782810/echo-menu-tree-with-recursive-function) – mario