考虑内存情况下 | PHP如何生成大数组

我们先来看一下,如果要生成1000000个元素的数组,对内存的消耗:

结果如下:

34 mb

可以看到普通方式生成数组,对内存的消耗极大,一旦并发很容易造成内存不足

使用生成器原理生成数组对象的话,如下:

';
}

$endMemory = memory_get_usage();

echo round(($endMemory - $startMemory) / 1024 / 1024, 2) . PHP_EOL . 'mb';


结果如下:

0 mb

使用生成器,可以看到对内存几乎无消耗,这是因为生成器只保存了构造数据的对象

你可能感兴趣的:(最好的语言PHP,php,经验分享,其他,生成器)