首页 > 代码库 > 一个PHP数组能占多大内存

一个PHP数组能占多大内存

最近用PHP读取一个大文件把相关数据存放到数组中,之后处理并输出, 读取过程中发现占用内存很大, 于是很好奇这个问题。

简单的写一个代码

<?php$m1 = memory_get_usage();$arr = array();$m2 = memory_get_usage();$arr2 = array(    ‘testa‘=>‘hello world1‘,        ‘testb‘=>‘hello world2‘,    );$m3 = memory_get_usage();echo $m1.PHP_EOL;echo $m2.PHP_EOL;echo ‘usage: ‘.($m2-$m1), PHP_EOL;echo $m3.PHP_EOL;echo ‘usage: ‘.($m3-$m2), PHP_EOL;

 

结果如下

92216
92656
usage: 440
93432
usage: 776

memory_usage的单位是B(Byte),   也就是一个空数组是440B, 有内容以后是776B, 还是很占内存的。