生成器配合迭代器某些场景大大减少了内存消耗
public function da()
{
for($i=0;$i<100000;$i++){
yield $i;
}
}
public function cs()
{
$data = [];
for($i=0;$i<100000;$i++){
$data[] = $i;
}
return $data;
}
public function index()
{
$data = $this->cs();
foreach ($data as $val){
echo $val.'<br />';
}
echo "初始: ".memory_get_usage()."B\n";
$str = str_repeat('hello', 1000);
echo "使用: ".memory_get_usage()."B\n";
unset($str);
echo "释放: ".memory_get_usage()."B\n";
echo "峰值: ".memory_get_peak_usage()."B\n";
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210111826889.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NTX19Mb3Zl,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201210111853280.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NTX19Mb3Zl,size_16,color_FFFFFF,t_70#pic_center)