【问题标题】:PHP generator function explainedPHP生成器函数解释
【发布时间】:2023-03-07 05:53:01
【问题描述】:

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

是不是像返回一个数组?

我们在哪里需要生成器?

【问题讨论】:

  • 我认为文档非常清楚地解释了生成器相对于迭代器或基于数组的方法的优势。 究竟是什么你在纠结什么?
  • 简单明了的解释,有经验的例子:)
  • 文档确实提供了很好的例子,实际上。

标签: php function generator yield


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 2017-08-06
    • 2017-09-03
    • 1970-01-01
    • 2018-02-04
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多