程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中unset銷毀變量引發的問題

PHP中unset銷毀變量引發的問題

編輯:關於PHP編程

在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;//輸出空
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved