【发布时间】:2020-05-30 14:32:08
【问题描述】:
return 和 yield 之间的区别似乎很明显,直到我发现还有 yield from 并且可以将 return 和 yield 组合在同一个函数中!
我对@987654326@ 的理解是,之后的一切都没有被执行,对吧?
但是:
function generate(): iterable {
return [1, 2, 3];
}
foreach (generate() as $value) {
echo $value;
}
产生:“123”
但是如下:
function generate(): iterable {
return [1, 2, 3];
yield;
}
foreach (generate() as $value) {
echo $value;
}
什么都不生产!那么这意味着yield被执行了吗?
这是一个错误吗?
【问题讨论】:
-
var_dump(generate()->GetReturn());
标签: php return generator yield