PHP生成器简单实例

作者:junjie 时间:2024-05-11 09:52:33 

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


//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,生成器
0
投稿

猜你喜欢

  • VueJs监听window.resize方法示例

    2024-04-29 13:09:41
  • 浅析Python 抽象工厂模式的优缺点

    2021-08-12 01:33:17
  • PyCharm 常用快捷键和设置方法

    2022-04-09 01:40:59
  • 深入探究Go语言从反射到元编程的实践与探讨

    2024-05-22 10:28:50
  • 详解vue项目中调用百度地图API使用方法

    2024-05-09 09:38:29
  • PHP中soap的用法实例

    2023-11-14 09:40:24
  • 使用 GUID 值来作为数据库行标识讲解

    2024-01-24 01:10:24
  • 细谈Mysql的存储过程和存储函数

    2024-01-23 11:05:24
  • 完全讲解 使用MSCS建立SQL Server集群

    2009-01-19 14:10:00
  • MySQL InnoDB和MyISAM数据引擎的差别分析

    2024-01-25 20:04:43
  • 关于H1的用法探讨

    2008-03-18 12:55:00
  • Python 中导入文本文件的示例代码

    2021-04-18 04:53:01
  • 15款非常有用的前端开发CSS网格(grid system)生成器

    2009-07-06 13:02:00
  • Python运行的17个时新手常见错误小结

    2023-05-20 00:13:17
  • python中关于py文件之间相互import的问题及解决方法

    2021-08-29 00:29:33
  • Jupyter Notebook的连接密码 token查询方式

    2023-10-21 23:51:47
  • 教你使用一行Python代码玩遍童年的小游戏

    2021-05-15 10:14:00
  • js实现input+select组合 抛砖引玉

    2010-08-02 12:34:00
  • Dreamweaver制作网页幻灯片效果

    2010-07-06 13:48:00
  • Selenium元素定位的30种方式(史上最全)

    2023-11-13 17:03:41
  • asp之家 网络编程 m.aspxhome.com