<?php#传统遍历取值模式$arr = [];for($i=0;$i<10000;++$i){$arr[]=$i;}foreach($arr as $v){echo $v,' ';}#消耗资源 byte (字节)echo memory_get_usage() . '</br>';#生成器取值模式function Getattr(){for($i=0;$i<10000;++$i){yield $i;//循环到生成器节点后停止循环,直到下一次使用$i时在循环一次}}#返回generator对象$num = Getattr();foreach($num as $v){echo $v,' '; 每输出一次Getattr里面循环一次}#消耗资源 byte(字节 )echo memory_get_usage() . '</br>';
生成器可以很大程度少减少php内存使用,优化速度,在做数据大量输出,大数据分析时很有用

