English | 简体中文 | 繁體中文
查询

Generator::rewind()函数—用法及示例

「 将生成器的内部指针重置到生成器的第一个元素 」


函数名:Generator::rewind()

适用版本:PHP 5 >= 5.5.0, PHP 7

用法:Generator::rewind() 函数用于将生成器的内部指针重置到生成器的第一个元素。

示例:

function myGenerator() {
    yield 'apple';
    yield 'banana';
    yield 'orange';
}

$generator = myGenerator();

echo $generator->current(); // 输出:apple

$generator->next();
echo $generator->current(); // 输出:banana

$generator->rewind();
echo $generator->current(); // 输出:apple

在上面的示例中,我们定义了一个生成器函数 myGenerator(),它会依次生成三个水果。

首先,我们创建了一个生成器对象 $generator 并使用 current() 方法获取当前指针所指向的元素,输出结果为 apple

然后,我们使用 next() 方法将指针移动到下一个元素,再次使用 current() 方法获取当前指针所指向的元素,输出结果为 banana

最后,我们使用 rewind() 方法将指针重置到第一个元素,并再次使用 current() 方法获取当前指针所指向的元素,输出结果再次为 apple

注意:rewind() 方法只能在第一次调用生成器之前使用,或者在生成器已经完成迭代后再次使用,否则会抛出一个异常。

补充纠错
上一个函数: Generator::send()函数
下一个函数: Generator::next()函数
热门PHP函数
分享链接