PHP如何改写yield处理大量数据为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1252个文字,预计阅读时间需要6分钟。
官方解释+yield+生成器是PHP5.5之后出现的,官方文档这样解释:+yield+提供了一种更易于实现简单迭代对象的简便方法,相比定义实现了+Iterator+接口的类,这种方法在性能和复杂性方面都有优势。
官方解释yield
yield生成器是php5.5之后出现的,官方文档这样解释:yield提供了一种更容易的方法来实现简单的迭代对象,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。
生成器的核心是一个yield关键字,一个生成器函数看起来像一个普通的函数,不同的是:普通函数返回一个值,而一个生成器可以yield生成许多它所需要的值。生成器函数被调用时,返回的是一个可以被遍历的对象。
yield和return有点类似,不过不同的是,return会返回值并且终止代码的执行,而yield会返回一个值给循环调用此生成器的代码并且只是暂停执行生成器函数。
本文共计1252个文字,预计阅读时间需要6分钟。
官方解释+yield+生成器是PHP5.5之后出现的,官方文档这样解释:+yield+提供了一种更易于实现简单迭代对象的简便方法,相比定义实现了+Iterator+接口的类,这种方法在性能和复杂性方面都有优势。
官方解释yield
yield生成器是php5.5之后出现的,官方文档这样解释:yield提供了一种更容易的方法来实现简单的迭代对象,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。
生成器的核心是一个yield关键字,一个生成器函数看起来像一个普通的函数,不同的是:普通函数返回一个值,而一个生成器可以yield生成许多它所需要的值。生成器函数被调用时,返回的是一个可以被遍历的对象。
yield和return有点类似,不过不同的是,return会返回值并且终止代码的执行,而yield会返回一个值给循环调用此生成器的代码并且只是暂停执行生成器函数。

