• 技术文章 >后端开发 >php教程

    PHP生成器简单实例_PHP

    2016-06-01 11:05:48原创355
    一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。

    代码如下:


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

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 生成器
    上一篇:PHP SPL标准库之SplFixedArray使用实例_PHP 下一篇:PHP输入输出流学习笔记_PHP
    Web大前端开发直播班

    相关文章推荐

    • 深入浅析PHP文件包含漏洞• php自己实现memcached的队列类_PHP教程• 装饰器模式,装饰模式_PHP教程• PHP多线程之内部多线程实例分析,php多线程实例分析_PHP教程• symfony表单与页面实现技巧,symfony表单技巧_PHP教程
    1/1

    PHP中文网