私はプロトタイプに取り組んでおり、マルチレベルのナビゲーションを構築したいと考えていますが、配列をループすることはありません。$depth と $children があり、ナビゲーションの深さと各レベルの子の数を決定する必要があります。したがって、$depth = 4、$children = 8 の場合、4096 個のメニュー項目が生成されます。
これは、私が望む出力のスニペットです:
<ul>
<li class="level-1">
<a href="#">Subject 1</a>
<ul>
<li class="level-2">
<a href="#">Subject 1.1</a>
<ul>
<li class="level-3">
<a href="#">Subject 1.1.1</a>
</li>
...
</ul>
</li>
...
</ul>
</li>
...
</ul>
これまでのところ私はこれを試しましたが、頭を悩ませることはできません:(
function draw_list ($depth, $children) {
echo '<ul>';
for ($i = 0; $i < $children; $i++) {
echo '<li>' . ($i++);
$depth--;
if ($depth > 0) {
echo draw_list($depth, $children);
}
echo '</li>';
}
echo '</ul>';
}