yield关键字
生成器函数的核心是yield关键字。以最简单的形式,yield语句看起来很像return语句,除了yield而不是停止函数的执行并返回,而是为循环生成器的代码提供一个值,并暂停生成器函数的执行。
Example#1
<?php
public function gen_one_to_three($data)
{
foreach ($data as $da) {
yield $da;
}
}
$generator = gen_one_to_three($data);
foreach ($generator as $value) {
echo "$value\n";
}
?>
上面的示例将输出:
1
2
3