PHP性能优化利器:生成器 yield理解
如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。 优点 直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下: 生成器会对PHP应用的性能有非常大的影响 PHP代码运行时节省大量的内存 比较适合计算大量的数据 那么,这些神奇的功能究竟是如何做到的?我们先来举个例子。 概念引入 首先,放下生成器概念的包袱,来看一个简单的PHP函数: function createRange($number){ $data = []; for($i=0;$i<$number;$i++){ $data[] = time(); } return $data; } 这是一个非常常见的PHP函数,我们在处理一些数组的时候经常会使用。这里的代码也非常简单: 我们创建一个函数。 函数内包含一个 for 循环,我们循环的把当前时间放到 $data 里面 for 循环执行完毕,把 $data 返回出去。 下面没完,我们继续。我们再写一个函数,把这个函数的返回值循环打印出来: $result = createRange(10); // 这里调用上面我们创建的函数 foreach($result as