使用生成器重寫 randomNumbers()
我們的 randomNumbers()
函式可以重寫以使用生成器。
<?php
function randomNumbers(int $length)
{
for ($i = 0; $i < $length; $i++) {
// yield tells the PHP interpreter that this value
// should be the one used in the current iteration.
yield mt_rand(1, 10);
}
}
foreach (randomNumbers(10) as $number) {
echo "$number\n";
}
使用生成器,我們不必構建從函式返回的整個隨機數列表,從而導致使用的記憶體更少。