foreach ループを使用して php でネストされたリストを作成しようとしていますが、ちょっと行き詰まっています。私のコードは foreach ループを使用し、項目が見出しであるかどうかを確認します。見出しである場合は、その下にネストされたリストが開始されます。問題は、それが見出しでない場合、対応するリスト項目をその見出しの下の単一のul 要素に入れたいということです。ご覧のとおり、 foreach ループのために、見出しではないすべてのリスト項目を独自の個別の ul 要素に入れます。どうすればこれを修正できますか?
<ul>
<?php foreach($listitems as $listitem) : ?>
<?php if( $listitem['heading'] == 1) : ?>
<li><?php echo $listitem['listitem']; ?><!--begin nested list-->
<?php endif; ?>
<?php if( $listitem['heading'] == 0) : ?>
<ul><li><?php echo $listitem['listitem']; ?></li></ul>
<?php endif; ?>
<?php endforeach; ?>
</li><!--end nested list-->
</ul>
これは目的の html 出力です。
<ul>
<li>Javascript Basics<!--begin nested list-->
<ul>
<li>Getting Started</li>
<li>Data and Variables</li>
<li>Functions</li>
<li>Scope</li>
<li>Working With Objects</li>
<li>Creating Objects</li>
<li>Arrays</li>
<li>Conditions And Decisions</li>
<li>Loops</li>
</ul>
</li><!--end nested list-->
</ul>