在php中我要銷毀變量並內存釋規范的寫法就是直接使用unset()函數了,但是我們測試會發現unset只是當指向該值的所有變量(比如有引用變量指向該值)都被銷毀後,地址才會被釋放,下面我們來看幾個實例。
首先我們來看一個例子:
代碼如下 復制代碼<?php
$a = "hello springload";
$b = $a;
unset($b);
echo $a; //hello springload
?>
這個我們很清楚,unset($b),只是斷開了變量名和值得綁定,但是一個有意思的問題出現了:
代碼如下 復制代碼<?php
$a = "hello springload";
$b = $a;
unset($a);
echo $b;//hello springload
?>
為什麼$a銷毀了,為嘛$b的值還在呢?
注:unset()函數只有當指向該值的所有變量(比如有引用變量指向該值)都被銷毀後,地址才會被釋放,如下:
代碼如下 復制代碼<?php
$a = "hello springload";
$b = $a;
unset($a);
unset($b);
echo $b;//輸出空
?>