PHP Generator::next() 方法

返回上一级

PHP Generator::next() 方法用于继续执行生成器。

(PHP 5 >= 5.5.0, PHP 7)

方法原型

PHP Generator::next() 方法的原型如下

public void Generator::next ( void )

从方法原型中可以看出,该方法既不用传递任何传输也不会返回任何值。只是简单的通知生成器应该继续执行。

其实,调用 Generator::next() 方法相当于调用 Generator::send(NULL)`

使用 foreach 迭代一个生成器时,会在每次迭代元素后自动调用 next() 方法。

范例

因为使用 foreach 我们是看不到 foreach 如何调用 next() 方法,但我们可以写一个范例来实现手动调用 next()

<?php

function gen_zero_to_ten() {
    for ($i = 1; $i <= 10; $i++) {
        yield $i;
    }
}

$generator = gen_zero_to_ten();
echo '当前的值为: ', $generator->current(), "\n";

// 做一些其它事情
// 完成后生成下一个值
$generator->next();
echo '当前的值为: ', $generator->current(), "\n";

// 做一些其它事情
// 完成后生成下一个值
$generator->next();
echo '当前的值为: ', $generator->current(), "\n";

运行这段代码,输出结果如下

当前的值为: 1
当前的值为: 2
当前的值为: 3

返回上一级

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.