欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          PHP中銷毀對象的方法是什么

          PHP中銷毀對象的方法:1、給對象變量賦值NULL,語法“$obj = null;”;2、使用unset()函數(shù)銷毀對象,語法“unset($obj);”。

          PHP中銷毀對象的方法是什么

          本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

          PHP中銷毀對象的方法

          方法1:給對象變量賦值NULL

          當(dāng)對象沒有被引用時就會被銷毀,因此可以為其賦值NULL

          示例:有這么一個對象:

          <?php header("Content-type:text/html;charset=utf-8"); class Human {      public $name = '張三';      public $gender = null;      public function __destruct() {          echo '走了!<br />';      }    }    $obj = new Human();   var_dump($obj); ?>

          輸出結(jié)果:

          PHP中銷毀對象的方法是什么

          給對象變量$obj賦值NULL,銷毀對象

          $obj = null; var_dump($obj);

          輸出結(jié)果:

          PHP中銷毀對象的方法是什么

          方法2:使用unset()函數(shù)銷毀對象

          示例1:

          <?php class Human {      public $name = '張三';      public $gender = null;      public function __destruct() {          echo '走了!<br />';      }    }    $a = new Human();    $b = $c = $d = $a;   unset($a);     echo $b->name; //輸出張三 echo '<hr />'; //先輸出換行線再輸出走了    析構(gòu)函數(shù)是在線上觸發(fā)還是線下觸發(fā)? ?>

          答案:

          $b = $c = $d = $a;默認(rèn)引用傳值,四個變量指向同一處內(nèi)存,unset的時候?qū)ο筮€是被其它三個變量使用,所以對象并沒有被銷毀,所以析構(gòu)函數(shù)是在線下觸發(fā)的(代碼執(zhí)行完了,內(nèi)存自動釋放)

          PHP中銷毀對象的方法是什么

          示例2:

          <?php class Human {    public $name = '張三';    public $gender = null;        public function __destruct() {        echo '走了!<br />';    }  }  $e = $f = $g = new Human();  unset($e);  unset($f);  unset($g);  echo '<hr />'; //同樣的問題: 析構(gòu)函數(shù)是在線上觸發(fā)還是線下觸發(fā)? ?>

          在代碼運(yùn)行完自動釋放內(nèi)存之前由于對象已經(jīng)沒有被任何變量引用所以就自動釋放了內(nèi)存….答案是在線上觸發(fā)

          PHP中銷毀對象的方法是什么

          推薦學(xué)習(xí):《PHP視頻教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號