我需要使用yield
和yield from
相同的功能,但它似乎不能按预期工作,一旦它只产生最后一个yield from
或yield
(最后一个)。
我的代码是(https://3v4l.org/jFDXh):
function yieldItems() {
yield 1;
yield 2;
yield 3;
yield from [4, 5, 6];
yield from [7, 8, 9];
}
var_dump(
iterator_to_array(
yieldItems()
)
);
对于所有 PHP 版本,它只会输出[ 7, 8, 9 ]
,但对我来说似乎很清楚它应该是[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
。
但是,如果我通过 a 做同样的foreach
事情,一切似乎都很正常。看起来是与 相关的问题iterator_to_array()
,但实际上我需要将它转换Generator
为数组。
那么,我错过了什么?