PHP中手动控制内存的必要性

先发脚本吧
<?php
$m_start = memory_get_usage(TRUE);
$total = array();
for ($i =1; $i < 10000; ++$i) {
$total[] = array(1, 2, 3, 4);
}
$m_end = memory_get_usage(TRUE);
echo $m_end - $m_start;
?>
得到的结果是4980736
<?php
$m_start = memory_get_usage(TRUE);
$total = array();
$tmp = array(1, 2, 3, 4);
for ($i =1; $i < 10000; ++$i) {
$total[] = $tmp;
}
$m_end = memory_get_usage(TRUE);
echo $m_end - $m_start;
?>
得到的结果是524288
内存占用差距近9倍,仅仅是把反复添加的变量独立出来而已。原理其实也挺简单,因为每次添加都会对array(1,2,3,4)这个数组重新分配变量空间,所以独立出来后内存占用可以好很多。
类别:Php 查看评论
posted @ 2010-10-11 23:57  ayanamist  阅读(238)  评论(0编辑  收藏  举报