一个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, 还是很占内存的。