我正在使用RecursiveIteratorIterator
循环Zend_Navigation
,这基本上是嵌套<ul>
和<li>
代码的列表:
$iterator = new RecursiveIteratorIterator(
$container,
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($iterator as $page) {
...
// isLast()?
// isFirst()?
}
如何确定当前迭代的元素($page
)是当前级别的第一个还是最后一个元素?
我需要为这些元素添加first
和last
类属性。
答案 0 :(得分:1)
您可以使用getDepth()来查询代码的深度。当深度增加时,您处于新的水平,并应添加first
属性。当标记之间的深度减小时,它会告诉您上一个标记是其级别中的最后一个标记,您应该为其添加last
属性。这意味着在完成当前标记的处理之前,您必须阅读下一个标记。