PHP首次echo会让内存使用量增加x字节
始于群友提出的一个问题
<?php
$m1 = memory_get_usage();
echo 'm1:' . $m1;
$arr1 = [];
for($i = 0; $i < 1000000; $i++){
$arr1[] = $i;
}
unset($i);
echo PHP_EOL;
$m2 = memory_get_usage();
echo 'm2:' . $m2;
$arr2 = $arr1;
echo PHP_EOL;
echo 'm2-m1:' . ($m2 - $m1);
echo PHP_EOL;
$m3 = memory_get_usage();
echo 'm3:' . $m3;
echo PHP_EOL;
echo 'm3-m2:' . ($m3 - $m2);
$arr3 = [];
foreach ($arr2 as $key => $value) {
$arr3[] = $value;
}
// unset($m1,$m2);
$m4 = memory_get_usage();
echo PHP_EOL;
echo 'm4:' . $m4;
echo PHP_EOL;
echo 'm4-m3:' . ($m4-$m3);
这段代码的输出如下,为什么(m4-m3)比(m2-m1)少32字节?
m1:38841...