PHP Conference Japan 2024

InfiniteIterator 类

(PHP 5 >= 5.1.0,PHP 7,PHP 8)

简介

InfiniteIterator 允许无限迭代一个迭代器,而无需在到达迭代器末尾时手动倒回迭代器。

类概要

class InfiniteIterator extends IteratorIterator {
/* 方法 */
public __construct(Iterator $iterator)
public next(): void
/* 继承的方法 */
}

目录

添加注释

用户贡献的笔记 2 条笔记

匿名
12 年前
要循环遍历对象键并重置到开头,请尝试以下操作
<?php

$obj
= new stdClass();
$obj->Mon = "Monday";
$obj->Tue = "Tuesday";
$obj->Wed = "Wednesday";
$obj->Thu = "Thursday";
$obj->Fri = "Friday";
$obj->Sat = "Saturday";
$obj->Sun = "Sunday";

$infinate = new InfiniteIterator(new ArrayIterator($obj));
foreach ( new
LimitIterator($infinate, 0, 14) as $value ) {
print(
$value . PHP_EOL);
}

?>

将输出

星期一
星期二
星期三
星期四
星期五
星期六
星期日
星期一
星期二
星期三
星期四
星期五
星期六
星期日

在执行日期操作或定期事件时可能很有用
vascowhite at gmail dot com
11 年前
重要的是要意识到,在使用任何迭代器之前必须在其上调用 rewind(),否则可能会遇到未定义的行为,请参阅此处示例代码和输出 http://3v4l.org/rvNpU

有关更完整的解释,请参阅此错误报告 https://bugs.php.net/bug.php?id=63823&edit=2
To Top