真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都做網(wǎng)站、鼓樓網(wǎng)絡(luò)推廣、微信小程序、鼓樓網(wǎng)絡(luò)營(yíng)銷、鼓樓企業(yè)策劃、鼓樓品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供鼓樓建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

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

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

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

下面給出例子代碼論證:

  1. < ?php  

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

  3. $s = memory_get_usage();   

  4. //改函數(shù)用來查看當(dāng)前所用內(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個(gè)1。如果上面改為unset($p)
    ,更不行了,echo $test 直接顯示為256個(gè)1  

  7. ?> 

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

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

變量賦值為null方法:

< ?php  $test = str_repeat("1",256);  $p = &$test;  $s = memory_get_usage();   $test = null;  unset($test);  $e = memory_get_usage();  echo ' 釋放內(nèi)存: '.($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個(gè)unset()順序?qū)φ{(diào)沒
    有關(guān)系,不影響結(jié)果  

  6. unset($p);  

  7. unset($test);   

  8. $e = memory_get_usage();  

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

  10. ?> 

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


當(dāng)前標(biāo)題:PHP中怎么利用unset()函數(shù)銷毀變量
當(dāng)前地址:http://weahome.cn/article/ijedip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部