【问题标题】:First and last elements in list using RecursiveIteratorIterator列表中的第一个和最后一个元素使用 RecursiveIteratorIterator
【发布时间】:2011-05-31 05:36:48
【问题描述】:

我使用RecursiveIteratorIterator 来循环Zend_Navigation,这基本上是一个嵌套<ul><li> 标签的列表:

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

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

【问题讨论】:

    标签: php zend-framework recursion iterator spl


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多