PHP生成器简单实例


Posted in PHP onMay 13, 2015

一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。

//Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in E:\php\test\index.php on line 5

range(1, 100000000);

PHP5.5实现了生成器,每当产生一个数组元素则用yield关键词返回,并且执行函数暂停,当执行函数next方法时,则会从上一次被yield的位置开始继续执行,如下例子,只会产生中间变量$i

function xrange($start, $limit, $step = 1) {

    for ($i = $start; $i <= $limit; $i += $step) {

        yield $i;

    }

}

 

foreach (xrange(1, 9, 1) as $number) {

    echo "$number ";

}
PHP 相关文章推荐
PHP中在数据库中保存Checkbox数据(2)
Oct 09 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
Jun 07 PHP
PHP与MySQL开发的8个技巧小结
Dec 17 PHP
php实现快速排序法函数代码
Aug 27 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php简单实现快速排序的方法
Apr 04 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP抓取及分析网页的方法详解
Apr 26 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
php实现比较两个字符串日期大小的方法
May 12 #PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 #PHP
PHP异常处理浅析
May 12 #PHP
php猴子选大王问题解决方法
May 12 #PHP
PHP嵌套输出缓冲代码实例
May 12 #PHP
php实现修改新闻时删除图片的方法
May 12 #PHP
php跨服务器访问方法小结
May 12 #PHP
You might like
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
JS实现的简单表单验证功能示例
2017/10/13 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
JavaScript实现简单进度条效果
2020/03/25 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
[42:24]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第三场 11.27
2020/12/01 DOTA
Python开发编码规范
2006/09/08 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
2020/12/11 Python
暇步士官网:Hush Puppies
2016/09/22 全球购物
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
总经理文秘岗位职责
2014/02/03 职场文书
战友聚会主持词
2014/04/02 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
文明礼仪倡议书
2015/04/28 职场文书
岁月神偷观后感
2015/06/11 职场文书
志愿者工作心得体会
2016/01/15 职场文书