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 使用post,get的一种简洁方式
Apr 25 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
php实现telnet功能示例
Apr 08 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
javascript some()函数用法详解
Nov 13 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
cakephp打印sql语句的方法
Feb 13 PHP
微信支付开发维权通知实例
Jul 12 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP观察者模式定义与用法实例分析
Mar 22 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 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
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
Vue初始化中的选项合并之initInternalComponent详解
2020/06/11 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
python正则表达式re模块详解
2014/06/25 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
保安拾金不昧表扬信
2014/01/15 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
投资申请报告
2015/05/19 职场文书
小孩不笨观后感
2015/06/03 职场文书
早恋主题班会
2015/08/14 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android
AngularJS实现多级下拉框
2022/03/25 Javascript
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers