PHP简单的生成器使用

来源:互联网 发布:钓鱼台工作 知乎 编辑:程序博客网 时间:2024/04/30 04:09

PHP简单的生成器使用

  • PHP经常用的语法

    function nums() {    $array = array();    for ($i = 0; $i < 10000; ++$i) {        $array[]= $i;    }    return $array;}foreach (nums() as $v){    var_dump($v);};

    安装原来的写法,return多个迭代之后的值,需要放进数组里面,然后return返回。如果这个数组足够大,所占用的内存也比较大,和空间相比,内存还是比较珍贵的,特别在服务器上。

  • 生成器的用法

    function nums2() {    for ($i = 0; $i < 10000; ++$i) {        yield $i;    }}foreach (nums2() as $v){    var_dump($v);};

    生成器最大的不同就是使用了yield,PHP每次调用都是调用生成器的方法代码,我觉得是占用了空间,而内存占用的情况变小了,在大的迭代上,使用生成器真的可以优化很多内存,小数的迭代性能上没什么区别。

    原文地址:http://biyongyao.com/archives/175

原创粉丝点击