您可以使用iterator_to_array函数来实现相同的目的,请看下面的示例:
function gen_one_to_three() {
for ($i = 1; $i <= 3; $i++) {
// Note that $i is preserved between yields.
yield $i;
}
}
$generator = gen_one_to_three();
$array = iterator_to_array($generator);
print_r($array);
Run Code Online (Sandbox Code Playgroud)
输出
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Run Code Online (Sandbox Code Playgroud)