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

溫馨提示×

溫馨提示×

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

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

如何銷毀PHP中的對象

發布時間:2021-09-14 09:42:01 來源:億速云 閱讀:172 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關如何銷毀PHP中的對象,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦

PHP中銷毀對象的方法

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

當對象沒有被引用時就會被銷毀,因此可以為其賦值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);
?>

輸出結果:

如何銷毀PHP中的對象

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

$obj = null;
var_dump($obj);

輸出結果:

如何銷毀PHP中的對象

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

示例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 />'; //先輸出換行線再輸出走了    析構函數是在線上觸發還是線下觸發?
?>

答案:

$b = $c = $d = $a;默認引用傳值,四個變量指向同一處內存,unset的時候對象還是被其它三個變量使用,所以對象并沒有被銷毀,所以析構函數是在線下觸發的(代碼執行完了,內存自動釋放)

如何銷毀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 />'; //同樣的問題: 析構函數是在線上觸發還是線下觸發?
?>

在代碼運行完自動釋放內存之前由于對象已經沒有被任何變量引用所以就自動釋放了內存....答案是在線上觸發

看完上述內容,你們對如何銷毀PHP中的對象有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

php
AI

宁波市| 德化县| 波密县| 衡阳市| 梁山县| 黄冈市| 峡江县| 阜阳市| 五家渠市| 凤冈县| 洮南市| 新乡市| 丹东市| 红河县| 伊春市| 大关县| 营口市| 常州市| 尉氏县| 濮阳市| 通城县| 罗源县| 泸州市| 信宜市| 增城市| 沾化县| 登封市| 克山县| 麟游县| 曲靖市| 冕宁县| 博兴县| 石景山区| 手游| 松滋市| 游戏| 洛宁县| 栾城县| 屏山县| 大城县| 罗定市|