PHP yield from 关键词

定义和用法

yield from 关键字用于创建生成器函数。生成器函数充当迭代器,可以使用 foreach 循环进行循环。

每次调用生成器函数时,yield from 关键字都会逐一提供迭代器中的值,直到迭代器中没有剩余项,然后生成器将移至下一个 yield 关键字。

相关页面

参考手册:yield 关键词

参考手册:foreach 关键词

实例

使用 yield from 创建一个生成器函数:

<?php  
function countTo4() {  
  yield from [1, 2, 3];  
  yield 4;  
}  
  
foreach(countTo4() as $number) {  
  echo $number;  
  echo "<br>";  
}  
?>

亲自试一试

在这个例子中,countTo4 是一个生成器函数,它首先使用 yield from 关键字来提供数组 [1, 2, 3] 中的值。当这三个值被 foreach 循环消耗完之后,生成器会继续执行 yield 4。因此,这段代码的输出将是:

1  
2  
3  
4

每个数字后面都跟着一个换行符。通过这种方式,yield from 允许你在生成器函数中轻松地组合多个迭代器或生成器的输出。