PHP unset销毁变量并释放内存问题
以下内容均引自http://leepiao.blog.163.com/blog/static/485031302010718105814266/,阿飘的博客
?
?
PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看一个例子:
<?php$s=str_repeat('1',256); //这和第二个例子完全相同$p=&$s;$m=memory_get_usage();unset($s); //销毁$sunset($p);$mm=memory_get_usage();echo $p.'<br />';echo $m-$mm;?>?
我们将$s和$p都使用unset()销毁,这时再看内存占用量之差也是224,说明这样也可以释放内存。那么,我们可以得到另外一条结论:
结论二、只有当指向该变量的所有变量(如引用变量)都被销毁后,才会释放内存。
相信经过本文的例子后,大家应该对unset()有所了解了,最起码,本人用unset()也是为了在变量不起作用时,释放内存。