本文整理汇总了PHP中RecursiveIteratorIterator::hasNext方法的典型用法代码示例。如果您正苦于以下问题:PHP RecursiveIteratorIterator::hasNext方法的具体用法?PHP RecursiveIteratorIterator::hasNext怎么用?PHP RecursiveIteratorIterator::hasNext使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RecursiveIteratorIterator
的用法示例。
在下文中一共展示了RecursiveIteratorIterator::hasNext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: RecursiveIteratorIterator
// create the caching iterator of the nav array
$it = new RecursiveIteratorIterator(new RecursiveCachingIterator(new RecursiveArrayIterator($nav)), RecursiveIteratorIterator::SELF_FIRST);
// child flag
$depth = 0;
// generate the nav
foreach ($it as $name => $url) {
// set the current depth
$curDepth = $it->getDepth();
// store the difference in depths
$diff = abs($curDepth - $depth);
// close previous nested levels
if ($curDepth < $depth) {
$output->append(str_repeat('</ul></li>', $diff));
}
// check if we have the last nav item
if ($it->hasNext()) {
$output->append('<li><a href="' . $url . '">' . $name . '</a>');
} else {
$output->append('<li class="last"><a href="' . $url . '">' . $name . '</a>');
}
// either add a subnav or close the list item
if ($it->hasChildren()) {
$output->append('<ul>');
} else {
$output->append('</li>');
}
// cache the depth
$depth = $curDepth;
}
// if we have values, output the unordered list
if ($output->count()) {