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数据库连接类~~做成一个分页类!
Nov 25 PHP
isset和empty的区别
Jan 15 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
PHP输出一个等腰三角形的方法
May 12 PHP
php实现点击可刷新验证码
Nov 07 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Dec 21 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
javascript在一段文字中的光标处插入其他文字
2007/08/26 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
使用python实现扫描端口示例
2014/03/29 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
浅谈Python Opencv中gamma变换的使用详解
2018/04/02 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
美国领先的眼镜和太阳镜在线零售商:Glasses.com
2019/08/26 全球购物
国家助学金获奖感言
2014/01/31 职场文书
2014政务公开实施方案
2014/02/19 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
大学生活感想
2015/08/10 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
golang语言指针操作
2022/04/14 Golang