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中执行系统外部命令
Oct 09 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
Jun 05 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
分享PHP计算两个日期相差天数的代码
Dec 23 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
PHP+redis实现微博的推模型案例分析
Jul 10 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
Laravel框架表单验证详解
2014/09/04 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
微信小程序如何访问公众号文章
2019/07/08 Javascript
微信小程序组件传值图示过程详解
2019/07/31 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
python下载的库包存放路径
2020/07/27 Python
Python的collections模块真的很好用
2021/03/01 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
写好自荐信的技巧
2013/11/08 职场文书
入党转预备思想汇报
2014/01/07 职场文书
婚庆司仪主持词
2014/03/15 职场文书
上甘岭观后感
2015/06/10 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android