列表中使用recursiveiteratoratorator列表中的第一个和最后一个元素
-
13-10-2019 - |
题
我在用着 RecursiveIteratorIterator
循环过来 Zend_Navigation
, ,这基本上是嵌套的清单 <ul>
和 <li>
标签:
$iterator = new RecursiveIteratorIterator(
$container,
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($iterator as $page) {
...
// isLast()?
// isFirst()?
}
如何确定当前迭代元素是否$page
)是当前级别上的第一个或最后一个元素吗?
我需要添加 first
和 last
类属于这些元素。
解决方案
您可以使用 getDepth() 查询标签的深度。当深度增加时,您处于新层面,应该添加一个 first
属性。当标签之间的深度减小时,告诉您上一个标签是其级别的最后一个标签,您应该添加一个 last
归因于此。这意味着您必须读取下一个标签,然后才能完成当前标签。
不隶属于 StackOverflow