我很难让我的头脑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>