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

原文地址:https://www.cnblogs.com/sailrancho/p/3892291.html