background image

代码示例

:

<?php
$s=str_repeat('1',256); //这和第二个例子完全相同
$p=&$s;
$m=memory_get_usage();
unset($s); //销毁$s
//by www.jbxue.com
$mm=memory_get_usage();
echo $p.'<br />';
echo $m-$mm;
?>
刷新页面,看到第一行有

256 个 1,第二行是 0,按理说已经销毁了$s,而$p 只是引用$s 的

变量,应该是没有内容了,另外,

unset($s)前后内存占用没变化!

例子:
代码示例

:

<?php
$s=str_repeat('1',256); //这和第二个例子完全相同
$p=&$s;
$m=memory_get_usage();
$s=null; //设置$s 为 null
$mm=memory_get_usage();
echo $p.'<br />';
echo $m-$mm;
?>
现在刷新页面,输出

$p 已经是没有内容了,unset()前后内存占用量之差是 272,即已经清

除了变量占用的内存。
本例中的

$s=null

 

也 可以换成

unset(),如下:

代码示例

:

<?php
$s=str_repeat('1',256); //这和第二个例子完全相同
$p=&$s;
$m=memory_get_usage();
unset($s); //销毁$s
unset($p);
$mm=memory_get_usage();
echo $p.'<br />';
echo $m-$mm;
?>