日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
PHP unset()函數(shù)銷毀變量

我們在學習PHP語言的時候,通常都會各個函數(shù)的用法比較模糊,很那去一一的掌握。但是我們又必須要掌握這些函數(shù)。下面我們就為大家詳細介紹有關PHP unset()函數(shù)的相關使用方法。#t#

成都網(wǎng)站設計、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設公司的關注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)建站一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。

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

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

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

下面給出例子代碼論證:

 
 
 
  1. < ?php  
  2. $test=str_repeat("1",256);  
  3. $s = memory_get_usage();   
  4. //改函數(shù)用來查看當前所用內(nèi)存  
  5. unset($test);  
  6. $e = memory_get_usage();  
  7. echo ' 釋放內(nèi)存: '.($s-$e);   
  8. //輸出為272,但如果上面test變量改為
    $test=str_repeat("1",255),輸出則為0  
  9. ?> 

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

 
 
 
  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. ?> 

也就是說內(nèi)存中賦給$a的值仍然存在??梢妘nset()并沒達到釋放內(nèi)存的效果。

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

變量賦值為null方法:

 
 
 
  1. < ?php  
  2. $test = str_repeat("1",256);  
  3. $p = &$test;  
  4. $s = memory_get_usage();   
  5. $test = null;  
  6. unset($test);  
  7. $e = memory_get_usage();  
  8. echo ' 釋放內(nèi)存: '.($s-$e); 
  9. //輸出為272  
  10. var_dump($p); //輸出為NULL  
  11. ?> 

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

 
 
 
  1. < ?php  
  2. $test = str_repeat("1",256);  
  3. $p = &$test;  
  4. $s = memory_get_usage();   
  5. //注意,以下2個unset()順序對調(diào)沒
    有關系,不影響結果  
  6. unset($p);  
  7. unset($test);   
  8. $e = memory_get_usage();  
  9. echo ' 釋放內(nèi)存: '.($s-$e); //輸出為272  
  10. ?> 

到此PHP unset()函數(shù)論證完畢。


新聞標題:PHP unset()函數(shù)銷毀變量
瀏覽地址:http://www.dlmjj.cn/article/cdssedc.html