Php/docs/generator.send
来自菜鸟教程
Generator::send
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Generator::send — 向生成器中传入一个值
说明
向生成器中传入一个值,并且当做 yield 表达式的结果,然后继续执行生成器。
如果当这个方法被调用时,生成器不在 yield 表达式,那么在传入值之前,它会先运行到第一个 yield 表达式。As such it is not necessary to "prime" PHP generators with a Generator::next() call (like it is done in Python).
返回值
返回生成的值。
范例
Example #1 用 Generator::send() 向生成器函数中传值
<?phpfunction printer() { while (true) { $string = yield; echo $string; }}$printer = printer();$printer->send('Hello world!');?>
以上例程会输出:
Hello world!