为了账号安全,请及时绑定邮箱和手机立即绑定

php迭代器iterator怎么用?

php迭代器iterator怎么用?

千万里不及你 2019-05-25 14:31:13
看到很多框架底层都在使用iterator或者spl中的一些其他迭代器,感觉foreach不就行么,为啥用什么迭代器,不知道用迭代器的好处是啥
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

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

TA贡献1808条经验 获得超4个赞

使用foreach与使用迭代器,并不冲突迭代器可以使用在:1、使用返回迭代器的包或库时(如PHP5中的SPL迭代器)2、无法在一次的调用获取容器的所有元素时3、要处理数量巨大的无素时(数据库中的表以GB计的数据)迭代器还可以用来构造一些数据结构。
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信