請教PHP中關於unset()函數的運用情境

來源:互聯網
上載者:User
各位PHPer,大家好!
今天小白請教PHP中unset()函數在何時使用才是正確的?
大夥都知道unset是取消賦值,比如
$aa="asdfasdf";
echo $aa; //得到的結果是asdfasdf
unset $aa;
echo $aa; //得到的結果是空
它的用法到是知道
小白疑惑的就是在那些情況下應該使用unset()函數?
使用unset()函數後,能給程式帶來那些好處或者壞處?
小白先謝謝給位大神啦,o(∩∩)o...哈哈,^_^

回複內容:

各位PHPer,大家好!
今天小白請教PHP中unset()函數在何時使用才是正確的?
大夥都知道unset是取消賦值,比如
$aa="asdfasdf";
echo $aa; //得到的結果是asdfasdf
unset $aa;
echo $aa; //得到的結果是空
它的用法到是知道
小白疑惑的就是在那些情況下應該使用unset()函數?
使用unset()函數後,能給程式帶來那些好處或者壞處?
小白先謝謝給位大神啦,o(∩∩)o...哈哈,^_^

unset是用來取消一個變數,釋放這個名稱的.應用的情境真的不算太多,因為PHP沒有釋放資源的需求,PHP進程只會存在很短時間.

我覺得應用在數組上的情況要多一點,用來刪去數組中一個元素.比如,為了把一個使用者的資訊插入資料庫,我定義了這麼一個數組:

$user = ["name" => "xxoo", "passwd" => "4d5c01842f37d", "email" => "xxoo@xo.ox"];$db->insert($user);

然後我還希望把這一條資料插入到日誌中,但我又不希望在日誌中儲存密碼,這時我只需要:

unset($user["passwd"]);$log->append($user);

由於php的資源自動回收機制,當頁面執行完畢後,會自動釋放所佔用過的記憶體,所以在銷毀變數釋放記憶體這方面,一般用的不是太多。

但當較大的數組等變數較多時,在之後沒再用到的情況下,可以unset掉以便釋放記憶體。尤其是在可用記憶體比較緊張的時候。

另外要注意的是,

unset在函數中只能銷毀局部變數。如果在程式中需要用到銷毀全域變數的應該如何做呢?也很簡單,用$GLOBALS數組來實現即可。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.