PHP生成器简单实例
作者:junjie 发布时间:2024-05-11 09:52:33
标签:PHP,生成器
一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。
//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 ";
}


猜你喜欢
- CSS换肤技术一直是一个比较热门的话题,通过给HTML文档不同的CSS样式应用,实现完全不同或风格迥异的页面效果。这样的技术一直为大家所津津
- 项目介绍采用广度优先搜索方法获取一个网站上的所有外链。首先,我们进入一个网页,获取网页的所有内链和外链,再分别进入内链中,获取该内链的所有内
- 在文章《用CSS实现柱状图(Bar Graph)的方法总结与比较(三)》中我强调说不同浏览器对于相同元素的默认样式并不一致,这也是为什么我们
- 本文实例讲述了python实现集中式的病毒扫描功能。分享给大家供大家参考,具体如下:一 点睛本次实践实现了一个集中式的病毒扫描管理
- 这篇文章主要介绍了python列表生成器迭代器实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 如何动态添加单元格!! 用insertRow()和insertCell()方法 其用法如下: insertRow() v
- 更新:优化了代码,理由numpy的ufunc函数功能替换了之前的双重for循环,测试图片大小为692*1024*3,优化前运行时间为6.9s
- 此教程适合有pandas基础的童鞋来看,很多知识点会一笔带过,不做详细解释Pandas数据格式SeriesDataFrame:每个colum
- SQL SERVER将某一列字段中的某个值替换为其他的值update 表名 set 列名 = REPLACE( 列名 ,'aa
- logrus是go的一个日志框架,它最让人激动的应该是hook机制,可以在初始化时为logrus添加hook,logrus可以实现各种扩展功
- 1.html代码片段<div class="layui-input-inline"> &nbs
- RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的
- 1、SQL SERVER 2005的性能工具中有SQL Server Profiler和数据库引擎优化顾问,极好的东东,必须熟练使用。 2、
- DQLDQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。基本语法DQL 查询语
- 如下所示:######### Extract all files from src_dir to des_dirdef extract_ta
- 本文实例讲述了Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作。分享给大家供大家参考,具体如下:实例对象也可以实现闭包
- 1.需求说明记录一下项目对用户 UGC 文本进行字数限制的具体实现。不同的产品,出于种种原因,一般都会对用户输入的文本内容做字数限制。出于产
- 正则表达式正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为&q
- 前言:WebDriver提供了两个关闭浏览器的方法,一个是前边使用quit()方法,另一个是close()方法close():关闭当前窗口q
- 最近工作转型到数据开发领域,想在本地搭建一个数据开发环境。自己有三年python开发经验,马上想到使用numpy、scipy、sklearn