我在用着 RecursiveIteratorIterator 循环过来 Zend_Navigation, ,这基本上是嵌套的清单 <ul><li> 标签:

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

如何确定当前迭代元素是否$page)是当前级别上的第一个或最后一个元素吗?
我需要添加 firstlast 类属于这些元素。

有帮助吗?

解决方案

您可以使用 getDepth() 查询标签的深度。当深度增加时,您处于新层面,应该添加一个 first 属性。当标签之间的深度减小时,告诉您上一个标签是其级别的最后一个标签,您应该添加一个 last 归因于此。这意味着您必须读取下一个标签,然后才能完成当前标签。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top