Rumah > pembangunan bahagian belakang > masalah PHP > Apakah kaedah untuk memusnahkan objek dalam PHP

Apakah kaedah untuk memusnahkan objek dalam PHP

青灯夜游
Lepaskan: 2023-03-12 14:06:01
asal
2916 orang telah melayarinya

Kaedah untuk memusnahkan objek dalam PHP: 1. Berikan NULL kepada pembolehubah objek dengan sintaks "$obj = null;" 2. Gunakan fungsi unset() untuk memusnahkan objek dengan sintaks "unset( $obj);".

Apakah kaedah untuk memusnahkan objek dalam PHP

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Memusnahkan objek dalam Kaedah PHP

Kaedah 1: Berikan NULL kepada pembolehubah objek

Apabila objek tidak dirujuk, ia akan dimusnahkan, jadi ia boleh diberikan nilai NULL

Contoh: Terdapat objek sedemikian:

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

Hasil keluaran:

Apakah kaedah untuk memusnahkan objek dalam PHP

Tetapkan NULL kepada pembolehubah objek $obj dan musnahkannya Objek

$obj = null;
var_dump($obj);
Salin selepas log masuk

Hasil keluaran:

Apakah kaedah untuk memusnahkan objek dalam PHP

Kaedah 2: Gunakan fungsi unset() untuk musnahkan objek

Contoh 1:

<?php
class Human {   
  public $name = &#39;张三&#39;;   
  public $gender = null;   
  public function __destruct() {   
      echo &#39;走了!<br />&#39;;   
  }   
}   
$a = new Human();   
$b = $c = $d = $a;  
unset($a);    
echo $b->name; //输出张三
echo &#39;<hr />&#39;; //先输出换行线再输出走了    析构函数是在线上触发还是线下触发?
?>
Salin selepas log masuk

Jawapan:

$b = $c = $d = $a;Secara lalai, empat pembolehubah menghala ke memori yang sama apabila tidak ditetapkan, objek masih digunakan oleh tiga pembolehubah lain, jadi objek Ia belum dimusnahkan, jadi pemusnah dicetuskan di luar talian (kod dilaksanakan dan memori dilepaskan secara automatik)

Apakah kaedah untuk memusnahkan objek dalam PHP

Contoh 2:

<?php
class Human { 
  public $name = &#39;张三&#39;; 
  public $gender = null; 
   
  public function __destruct() { 
      echo &#39;走了!<br />&#39;; 
  } 
} 
$e = $f = $g = new Human(); 
unset($e); 
unset($f); 
unset($g); 
echo &#39;<hr />&#39;; //同样的问题: 析构函数是在线上触发还是线下触发?
?>
Salin selepas log masuk

Sebelum kod melepaskan memori secara automatik selepas dijalankan, objek tidak lagi dirujuk oleh mana-mana pembolehubah, jadi memori dilepaskan secara automatik.... Jawapannya adalah untuk mencetuskan dalam talian

Apakah kaedah untuk memusnahkan objek dalam PHP

Pembelajaran yang disyorkan: " Tutorial video PHP

Atas ialah kandungan terperinci Apakah kaedah untuk memusnahkan objek dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan