PHP - 其他相关知识 - 预定义接口

程序员日记      2019-08-26
1.Traversable(遍历)接口定义检测一个类是否可以使用foreach进行遍历的接口。1).这是一个无法在PHP脚本中实现的内部引擎接口。IteratorAggregate或Iterator接口可以用来代替它。2).实现此接口的内建类可以使用foreach进行遍历而无需实现IteratorAggregate或Iterator接口。3).这个接口没有任何方法,它的作用仅仅是作为所有可遍历类的基本接口。接口摘要Traversable{}2.Iterator(迭代器)接口定义可在内部迭代自己的...
标签:
432 人看过

PHP - 其他相关知识 - 生成器

程序员日记      2019-08-26
定义生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。生成器允许你在foreach代码块中写代码来迭代一组数据而不需要在内存中创建一个数组,那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样,和普通函数只返回一次不同的是,生成器可以根据需要yield多次,以便生成需要迭代的值。关键字yield生成器函数的核心是yield关键字。它最简单的调用形式看起来像一个return...
标签:
436 人看过