91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么利用 unset()函數銷毀變量

發布時間:2021-06-30 15:21:12 來源:億速云 閱讀:132 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關PHP中怎么利用 unset()函數銷毀變量,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

PHP unset()函數是用來銷毀變量的,但很多時候,這個函數只把變量給銷毀了,內存中存放的該變量的值仍然沒有銷毀,也就是沒能達到我們想要的釋放內存的效果。這里我建議大家用 $變量=null 的方法來釋放其內存。原因看了下面的就知道了。

以下是關于PHP unset()函數的幾點要點:(以下均在windows環境下測試,php 2.5.9)

1. 該函數只有在變量值所占空間超過256字節長的時候才會釋放內存
2. 只有當指向該值的所有變量(比如有引用變量指向該值)都被銷毀后,地址才會被釋放(也要執行1的判斷)

下面給出例子代碼論證:

  1. < ?php  

  2. $test=str_repeat("1",256);  

  3. $s = memory_get_usage();   

  4. //改函數用來查看當前所用內存  

  5. unset($test);  

  6. $e = memory_get_usage();  

  7. echo ' 釋放內存: '.($s-$e);   

  8. //輸出為272,但如果上面test變量改為
    $test=str_repeat("1",255),輸出則為0  

  9. ?> 

至于為什么是272而不是256,就不是很清楚了,不知道內部是怎么處理的。

  1. < ?php  

  2. $test = str_repeat("1",256);  

  3. $p = &$test;  

  4. unset($test);  

  5. echo $p;   

  6. //輸出為256個1。如果上面改為unset($p)
    ,更不行了,echo $test 直接顯示為256個1  

  7. ?> 

也就是說內存中賦給$a的值仍然存在。可見unset()并沒達到釋放內存的效果。

但如果在上述代碼中加入$test=null,或者再加一個unset($p),就能達到釋放內存效果了,PHP unset()函數測試代碼如下:

變量賦值為null方法:

< ?php  $test = str_repeat("1",256);  $p = &$test;  $s = memory_get_usage();   $test = null;  unset($test);  $e = memory_get_usage();  echo ' 釋放內存: '.($s-$e); //輸出為272  var_dump($p); //輸出為NULL  ?>

將指向該地址中值的變量全部銷毀的方法:

  1. < ?php  

  2. $test = str_repeat("1",256);  

  3. $p = &$test;  

  4. $s = memory_get_usage();   

  5. //注意,以下2個unset()順序對調沒
    有關系,不影響結果  

  6. unset($p);  

  7. unset($test);   

  8. $e = memory_get_usage();  

  9. echo ' 釋放內存: '.($s-$e); //輸出為272  

  10. ?> 

關于PHP中怎么利用 unset()函數銷毀變量就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芦溪县| 秦皇岛市| 葫芦岛市| 马尔康县| 南陵县| 乾安县| 台北市| 克东县| 昔阳县| 高要市| 佳木斯市| 渭南市| 甘泉县| 濮阳县| 通辽市| 凤山县| 屏东县| 贺州市| 临洮县| 嘉善县| 兖州市| 耿马| 昆山市| 屏南县| 望谟县| 通江县| 丽江市| 镇远县| 临澧县| 南雄市| 信宜市| 梁山县| 丹阳市| 乌审旗| 神池县| 合江县| 封丘县| 休宁县| 榆中县| 嘉祥县| 丽江市|