joshdifabio 技術上是正確的,但我並不認為這是個錯誤。你無法重設一個產生器,而這就是 AppendIterator 的作用。
如果你想將 AppendIterator 與產生器一起使用,只需將它們用 NoRewindIterator 包裝起來即可。
<?php
函式 foo() {
foreach ([] as $foo) {
yield $foo;
}
}
$append = new AppendIterator();
$append->append(new NoRewindIterator(foo()));
var_dump(iterator_to_array($append));
https://3v4l.org/pgiXB