我们的randomNumbers()函数可以重写为使用生成器。
<?php
function randomNumbers(int $length)
{
for ($i = 0; $i < $length; $i++) {
// yield告诉PHP解释器该值
// 应该是当前迭代中使用的那个。
yield mt_rand(1, 10);
}
}
foreach (randomNumbers(10) as $number) {
echo "$number\n";
}使用生成器,我们不必构建从函数返回的随机数的完整列表,从而减少了使用的内存。