PHP生成器简单实例
2015-05-13 08:46
531 查看
一般你在迭代一组数据的时候,需要创建一个数据,假设数组很大,则会消耗很大性能,甚至造成内存不足。
//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生成器简单实例
- php对数组排序的简单实例
- Android+PHP+MySQL开发简单实例
- 简单实用的PHP防注入类实例
- PHP实例:用PHP简单实现多条件查询
- PHP面向对象的简单实例
- UCenter应用程序开发简单实例(双向同步),php与UCenter对接
- 简单实用的PHP防注入类实例
- PHP数据流应用的一个简单实例
- 简单的php文件上传(实例)
- php的ajax简单实例
- flex php 简单通信实例
- 使用DNode实现php和nodejs之间通信的简单实例
- php简单smarty入门程序实例
- php简单smarty入门程序实例
- Wordpress解析系列之PHP编写hook钩子原理简单实例
- php SOAP WSDL简单应用实例
- php+javascript 静态化简单实例
- PHP简单的生成器使用
- PHP字符串的连接的简单实例