猿问

php迭代器iterator怎么用?

看到很多框架底层都在使用iterator或者spl中的一些其他迭代器,感觉foreach不就行么,为啥用什么迭代器,不知道用迭代器的好处是啥
千万里不及你
浏览 329回答 2
2回答

慕村9548890

说个使用场景,上家公司用的kohana框架,他的model是继承了迭代器,接手其他同事做的一个功能,导出excel,线上报bug,有时提醒timeout,有时提醒服务器内存用尽,看了他们的代码之后,首先是优化他们的sql,减少数据量,考虑后期数据还是会增加,使用orm获取sql的描述资源,再使用iterator,逐条写入excel(具体实现方式,看iterator方法),一次获取,永久使用,时间换空间的一个小例子

炎炎设计

使用foreach与使用迭代器,并不冲突迭代器可以使用在:1、使用返回迭代器的包或库时(如PHP5中的SPL迭代器)2、无法在一次的调用获取容器的所有元素时3、要处理数量巨大的无素时(数据库中的表以GB计的数据)迭代器还可以用来构造一些数据结构。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答