RecrusiveIteratorIterator
PHP でマルチレベルのメニューを構築するために、ページの多次元配列を繰り返し処理するのに苦労しています。
通常、レベルをループする関数を作成し、自分自身を呼び出して子をループします。しかし、PHP のイテレータ インターフェイスを利用してコードを改善したいと考えています。
私の配列は次のようになります。
$pages = array(
new Page(1, 'Home'),
new Page(2, 'Pages', array(
new Page(3, 'About'),
new Page(4, 'Contact')
)),
new Page(5, 'Categories', array(
new Page(6, 'Clothing'),
new Page(7, 'DVDs')
))
);
私のコンストラクターの引数は、Page
単にページ ID とページ名です。
PHP のイテレータを使用して、このようなメニューを作成するにはどうすればよいですか?
<ul>
<li>Home</li>
<li>Pages
<ul>
<li>About</li>
<li>Contact</li>
</ul>
</li>
<li>Categories
<ul>
<li>Clothing</li>
<li>DVDs</li>
</ul>
</li>
</ul>