1

我正在使用RecursiveIteratorIteratorto loop over Zend_Navigation,这基本上是嵌套<ul><li>标签的列表:

$iterator = new RecursiveIteratorIterator(
    $container, 
    RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($iterator as $page) {
    ...
    // isLast()?
    // isFirst()?
}

如何判断当前迭代的元素 ( $page) 是当前层的第一个元素还是最后一个元素?
我需要为这些元素添加firstlast类属性。

4

1 回答 1

1

您可以使用getDepth()来查询标签的深度。当深度增加时,您处于一个新的水平,应该添加一个first属性。当标签之间的深度减小时,这告诉您前一个标签是其级别中的最后一个标签,您应该为其添加一个last属性。这意味着您必须先阅读下一个标签,然后才能完成对当前标签的处理。

于 2010-12-27T20:42:05.160 回答