PHP生成器函数解释

标签 php function generator yield

我正在尝试获取 php 生成器函数 的逻辑, 到目前为止我得到的是,生成器函数与普通函数完全一样,但您可以根据需要多次使用关键字 yield 以提供要迭代的值。而这不能通过 return 关键字来完成。

它像返回一个数组吗?

我们在哪里需要发电机?

最佳答案

生成器允许您循环遍历一系列值,而无需先创建一个数组来保存它们。如果序列永远不会结束(您使用 break 在达到某些条件时退出循环)或者如果需要很长时间或使用大量内存来创建所有数组元素,这将很有用.

生成器不是将所有值收集到数组中,而是根据需要计算每个值,并使用 yield 生成该值。

documentation 中有一个示例显示了使用生成器的 range() 函数的变体,因此您可以在不使用大量内存的情况下处理非常大的范围。

关于PHP生成器函数解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43693706/

相关文章:

c++ - 适配器模式 : support underlying data that can be const or non-const, 优雅

python - 总和有什么作用?

python - 如何从Python生成器对象获取源行号?

php - 在流中读取实时整个输出

php - 修复 undefined index

php - 是否可能返回类似 Excel 的查询?

python - 在生成器上使用枚举来解析文本

php - HTML 5 和 Javascript 拖放

从函数更改 char 数组

r - 使用数据框列的名称作为过滤数据框中该列的函数的参数值