在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;//輸出空
- ?>
新聞熱點
疑難解答