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.

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

报告相同问题?

悬赏问题

  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条