在 PHP 中,yield 关键字用于创建一个生成器(generator),它允许你在函数中逐个产生一系列值,而不是一次性返回所有值。这在处理大量数据或需要逐步获取结果的场景中非常有用。
以下是如何在 PHP 中使用 yield 进行迭代的示例:
function simpleGenerator(){ yield 1; yield 2; yield 3;}使用生成器函数进行迭代:foreach (simpleGenerator() as $value) { echo $value . PHP_EOL;}输出:
123创建一个更复杂的生成器函数,该函数从数组中逐个产生值:function arrayGenerator($array){ foreach ($array as $value) { yield $value; }}$myArray = [4, 5, 6, 7, 8];foreach (arrayGenerator($myArray) as $value) { echo $value . PHP_EOL;}输出:
45678使用生成器函数处理大量数据:function largeDataGenerator($count){ for ($i = 1; $i <= $count; $i++) { yield $i; sleep(1); // 模拟耗时操作 }}foreach (largeDataGenerator(5) as $value) { echo $value . PHP_EOL;}输出(每次输出之间会有 1 秒的延迟):
12345通过使用 yield,你可以在 PHP 中轻松地创建和迭代生成器,从而更有效地处理大量数据或逐步获取结果。


