douchen2595 2010-12-27 17:05
浏览 77
已采纳

使用RecursiveIteratorIterator列表中的第一个和最后一个元素

I'm using RecursiveIteratorIterator to loop over Zend_Navigation, which is basically a list of nested <ul> and <li> tags:

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

How to determine, whether the currently iterated element ($page) is first or last element on current level?
I need to add first and last class attribute to those elements.

  • 写回答

1条回答 默认 最新

  • douxie3625 2010-12-27 20:42
    关注

    You could use getDepth() to query the depth of the tag. When the depth increases, you're at a new level and should add a first attribute. When the depth decreases between tags, that tells you the previous tag was the last in its level and you should add a last attribute to it. This means you will have to read the next tag before you can finish processing the current tag.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集