我正在尝试获取 php 生成器函数 的逻辑, 到目前为止我得到的是,生成器函数与普通函数完全一样,但您可以根据需要多次使用关键字 yield 以提供要迭代的值。而这不能通过 return 关键字来完成。
它像返回一个数组吗?
我们在哪里需要发电机?
最佳答案
生成器允许您循环遍历一系列值,而无需先创建一个数组来保存它们。如果序列永远不会结束(您使用 break
在达到某些条件时退出循环)或者如果需要很长时间或使用大量内存来创建所有数组元素,这将很有用.
生成器不是将所有值收集到数组中,而是根据需要计算每个值,并使用 yield
生成该值。
documentation 中有一个示例显示了使用生成器的 range()
函数的变体,因此您可以在不使用大量内存的情况下处理非常大的范围。
关于PHP生成器函数解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43693706/