PHP中unset銷毀變量引發(fā)的問題
來源:程序員人生 發(fā)布時(shí)間:2014-03-04 12:26:44 閱讀次數(shù):3308次
在php中我要銷毀變量并內(nèi)存釋規(guī)范的寫法就是直接使用unset()函數(shù)了,但是我們測試會(huì)發(fā)現(xiàn)unset只是當(dāng)指向該值的所有變量(比如有引用變量指向該值)都被銷毀后,地址才會(huì)被釋放,下面我們來看幾個(gè)實(shí)例,首先我們來看一個(gè)例子,代碼如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($b);
- echo $a;
- ?>
這個(gè)我們很清楚,unset($b),只是斷開了變量名和值得綁定,但是一個(gè)有意思的問題出現(xiàn)了,代碼如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($a);
- echo $b;
- ?>
為什么$a銷毀了,為嘛$b的值還在呢?
注:unset()函數(shù)只有當(dāng)指向該值的所有變量(比如有引用變量指向該值)都被銷毀后.地址才會(huì)被釋放,代碼如下:
- <?php
- $a = "hello springload";
- $b = $a;
- unset($a);
- unset($b);
- echo $b;
- ?>
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)