PHP生成器简单实例

 更新时间:2015年05月13日 08:46:46   投稿:junjie  
这篇文章主要介绍了PHP生成器简单实例,本文讲解了range、xrange函数的基本使用实例,需要的朋友可以参考下

一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。

复制代码 代码如下:

//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 ";
}

相关文章

  • laravel框架上传图片实现实时预览功能

    laravel框架上传图片实现实时预览功能

    今天小编就为大家分享一篇laravel框架上传图片实现实时预览功能,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 基于Swoole实现PHP与websocket聊天室

    基于Swoole实现PHP与websocket聊天室

    本文利用Swoole来实现PHP+websocket的聊天室,过程介绍的很详细,对聊天室的开发很有帮助,有需要的可以参考学习。
    2016-08-08
  • CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录

    CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录

    这篇文章主要介绍了在CentOS系统环境下安装 PHP5.5+Redis+XDebug+Nginx+MySQL开发环境的全过程,非常的细致详尽,推荐给有需要的小伙伴们参考下吧。
    2015-03-03
  • Yii框架学习笔记之session与cookie简单操作示例

    Yii框架学习笔记之session与cookie简单操作示例

    这篇文章主要介绍了Yii框架学习笔记之session与cookie简单操作,结合实例形式分析了Yii框架session与cookie的定义、设置、读写、删除等简单操作技巧,需要的朋友可以参考下
    2019-04-04
  • 如何使用php实现评委评分器

    如何使用php实现评委评分器

    本文主要介绍了如何使用php实现评委评分器,从输入的数组中去掉最高分和最低分,算出平均分,需要的朋友可以参考下
    2015-07-07
  • PHP生成各种常见验证码和Ajax验证过程

    PHP生成各种常见验证码和Ajax验证过程

    本文将通过实例讲解使用PHP生成各种常见的验证码包括数字验证码、数字+字母验证码、中文验证码、算术验证码等等以及其Ajax验证过程
    2016-01-01
  • 如何让搜索引擎抓取AJAX内容解决方案

    如何让搜索引擎抓取AJAX内容解决方案

    谈到AJAX很多人会联想到JavaScript,直到现在为止各大搜索引擎对如:javascript、ajax、flash代码生成的内容都没办法很好的抓取。但很多站长都很喜欢这些效果,可是偏偏各大搜索引擎不能很好的抓取这些代码所生成的内容,使得很多站长都放弃了这些效果。
    2014-08-08
  • 摘自织梦CMS的HTTP文件下载类

    摘自织梦CMS的HTTP文件下载类

    这篇文章主要介绍了摘自织梦CMS的HTTP文件下载类,涉及php发送http请求、响应、传输等常用操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Laravel + Elasticsearch 实现中文搜索的方法

    Laravel + Elasticsearch 实现中文搜索的方法

    这篇文章主要介绍了Laravel + Elasticsearch 实现中文搜索的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • TP5使用RabbitMQ实现消息队列的项目实践

    TP5使用RabbitMQ实现消息队列的项目实践

    本文主要介绍了TP5使用RabbitMQ实现消息队列的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论