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在线打包程序源码
Jul 27 PHP
php 代码优化的42条建议 推荐
Sep 25 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
基于php在各种web服务器的运行模式详解
Jun 03 PHP
php实现图片缩放功能类
Dec 18 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
PHP合并数组的2种方法小结
Nov 24 PHP
PHP构造二叉树算法示例
Jun 21 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
sea.js常用的api简易文档
2016/11/15 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
使用Vuex实现一个笔记应用的方法
2018/03/13 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
python获取局域网占带宽最大3个ip的方法
2015/07/09 Python
python中format()函数的简单使用教程
2018/03/14 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
使用python爬取B站千万级数据
2018/06/08 Python
python样条插值的实现代码
2018/12/17 Python
在python shell中运行python文件的实现
2019/12/21 Python
python单例设计模式实现解析
2020/01/07 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
学生自我鉴定格式及范文
2014/09/16 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
MySql分区类型及创建分区的方法
2022/04/13 MySQL