最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP析構(gòu)函數(shù)destruct與垃圾回收機(jī)制的講解

 更新時(shí)間:2019年03月22日 15:37:01   作者:CODETC  
今天小編就為大家分享一篇關(guān)于PHP析構(gòu)函數(shù)destruct與垃圾回收機(jī)制的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

析構(gòu)函數(shù)

當(dāng)某個(gè)對(duì)象成為垃圾或者當(dāng)對(duì)象被顯式銷毀時(shí)執(zhí)行。

PHP5中提供的析構(gòu)函數(shù)是__destruct,其與構(gòu)造方法__construct相對(duì)應(yīng)。

垃圾回收——GC(Garbage Collector)

在PHP中,沒有任何變量指向這個(gè)對(duì)象時(shí),這個(gè)對(duì)象就成為垃圾,PHP會(huì)將其在內(nèi)存中銷毀。

這是PHP的GC(Garbage Collector)垃圾處理機(jī)制,垃圾加收可以防止內(nèi)存溢出。

當(dāng)一個(gè)PHP線程結(jié)束時(shí),當(dāng)前占用的所有內(nèi)存空間都會(huì)被銷毀,當(dāng)前程序中的所有對(duì)象同樣被銷毀。

__destruct() 析構(gòu)函數(shù),是在垃圾對(duì)象被回收時(shí)執(zhí)行。

析構(gòu)函數(shù)是由系統(tǒng)自動(dòng)調(diào)用的,也可以被顯式調(diào)用,但不要這樣去做。

如下面程序所示,程序結(jié)束前,所有對(duì)象被銷毀。析構(gòu)函數(shù)被調(diào)用了。

<?php
class Person {
 public function __destruct(){
 echo '析構(gòu)函數(shù)現(xiàn)在執(zhí)行了 <br />';
 echo '這里一般用來設(shè)置、關(guān)閉數(shù)據(jù)庫、關(guān)閉文件等收尾工作';
 }
}
$p = new Person();
for($i = 0; $i < 5; $i++){
 echo "$i <br />";
}
?>

程序運(yùn)行結(jié)果:
0
1
2
3
4
析構(gòu)函數(shù)現(xiàn)在執(zhí)行了
這里一般用來設(shè)置、關(guān)閉數(shù)據(jù)庫、關(guān)閉文件等收尾工作

當(dāng)對(duì)象沒有指向時(shí),對(duì)象被銷毀。

<?php
class Person {
 public function __destruct(){
 echo '析構(gòu)函數(shù)現(xiàn)在執(zhí)行了 <br />';
 }
}
$p = new Person();
$p = null; // 析構(gòu)函數(shù)在這里執(zhí)行了
$p = "abc"; // 一樣的效果
for($i = 0; $i < 5; $i++){
 echo "$i <br />";
}
?>

程序運(yùn)行結(jié)果:

析構(gòu)函數(shù)現(xiàn)在執(zhí)行了
0
1
2
3
4

上面的例子中,我們將$p設(shè)置為空或者賦予$p一個(gè)字符串,這樣$p之前指向的對(duì)象就成為了垃圾對(duì)象。PHP將這個(gè)對(duì)象垃圾銷毀。

php unset變量

<?php
class Person {
 public function __destruct(){
 echo '析構(gòu)函數(shù)現(xiàn)在執(zhí)行了 <br />';
 }
}
$p = new Person();
$p1 = $p;
unset($p);
echo '現(xiàn)在把 $p 被銷毀了,對(duì)象是否也被銷毀了呢? <br />';
for($i = 0; $i < 5; $i++){
 echo "$i <br />";
}
echo '現(xiàn)在再把 $p1 也銷毀掉,即已經(jīng)沒有指向?qū)ο蟮淖兞苛?lt;br />';
unset($p1); // 現(xiàn)在沒有指向?qū)ο蟮淖兞苛?析構(gòu)函數(shù)在這里執(zhí)行了
?>

程序運(yùn)行結(jié)果:

現(xiàn)在把 $p 被銷毀了,對(duì)象是否也被銷毀了呢?
0
1
2
3
4
現(xiàn)在再把 $p1 也銷毀掉,即已經(jīng)沒有指向?qū)ο蟮淖兞苛?br /> 析構(gòu)函數(shù)現(xiàn)在執(zhí)行了

unset 銷毀的是指向?qū)ο蟮淖兞浚皇沁@個(gè)對(duì)象。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • PHP Stream_*系列函數(shù)

    PHP Stream_*系列函數(shù)

    流(stream)是一種數(shù)據(jù)抽象。使用流包裝數(shù)據(jù)源后,數(shù)據(jù)都將會(huì)獲得統(tǒng)一的操作,不管數(shù)據(jù)源是文件、網(wǎng)絡(luò)連接、壓縮數(shù)據(jù)中的哪一種。PHP中的stream_*系列函數(shù)就是用來獲取、管理流的一組函數(shù)。
    2010-08-08
  • Snoopy類使用小例子

    Snoopy類使用小例子

    下載:http://sourceforge.net/projects/snoopy/ 今天才發(fā)現(xiàn)這個(gè)好東西,趕緊去下載了來看看,是用的parse_url 還是比較習(xí)慣curl
    2008-04-04
  • 學(xué)習(xí)php筆記 字符串處理

    學(xué)習(xí)php筆記 字符串處理

    學(xué)習(xí)php筆記 字符串處理,需要的朋友可以參考下。
    2010-10-10
  • PHP5.6讀寫excel表格文件操作示例

    PHP5.6讀寫excel表格文件操作示例

    這篇文章主要介紹了PHP5.6讀寫excel表格文件操作,結(jié)合實(shí)例形式分析了php5.6環(huán)境下使用PHPExcel插件針對(duì)Excel表格讀寫的相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • php實(shí)現(xiàn)的順序線性表示例

    php實(shí)現(xiàn)的順序線性表示例

    這篇文章主要介紹了php實(shí)現(xiàn)的順序線性表,結(jié)合實(shí)例形式分析了PHP順序線性表的定義、元素獲取、插入、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • PHP CURL獲取返回值的方法

    PHP CURL獲取返回值的方法

    這篇文章主要介紹了PHP CURL獲取返回值的方法,需要的朋友可以參考下
    2014-05-05
  • phpmyadmin3 安裝配置圖解教程

    phpmyadmin3 安裝配置圖解教程

    基于PHP開發(fā)的phpmyadmin也是一個(gè)非常好用的Mysql數(shù)據(jù)庫管理程序,在xampp等PHP環(huán)境配置安裝程序中,phpmyadmin也是一個(gè)必備的PHP程序
    2012-03-03
  • php下實(shí)現(xiàn)折線圖效果的代碼

    php下實(shí)現(xiàn)折線圖效果的代碼

    php下實(shí)現(xiàn)折線圖效果的代碼...
    2007-04-04
  • PECL方式安裝php-mongodb擴(kuò)展方法

    PECL方式安裝php-mongodb擴(kuò)展方法

    下面小編就為大家分享一篇PECL方式安裝php-mongodb擴(kuò)展方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 深思 PHP 數(shù)組遍歷的差異(array_diff 的實(shí)現(xiàn))

    深思 PHP 數(shù)組遍歷的差異(array_diff 的實(shí)現(xiàn))

    還是部門無聊的考題,不過這次考的是 PHP 的能力。題目如下: 給你兩個(gè)分別有 5000 個(gè)元素的數(shù)組,計(jì)算他們的差集 -- 說白了也就是用 PHP 和你認(rèn)為最好的算法實(shí)現(xiàn) array_diff 的算法。初次接到這個(gè)題目,我發(fā)現(xiàn)這非常的簡單,于是按照以往的經(jīng)驗(yàn)“隨便”寫了一個(gè):
    2008-03-03

最新評(píng)論

虹口区| 唐河县| 通许县| 衡阳县| 长葛市| 漳浦县| 景谷| 南投县| 甘肃省| 重庆市| 福清市| 凤台县| 宜兰县| 文山县| 石狮市| 阿巴嘎旗| 同德县| 孝昌县| 垣曲县| 重庆市| 湘西| 浏阳市| 林芝县| 固始县| 马公市| 原平市| 霍山县| 海南省| 玛纳斯县| 四子王旗| 松滋市| 甘洛县| 花莲县| 东城区| 门头沟区| 信宜市| 鲁山县| 遵义县| 凭祥市| 佛冈县| 雷波县|