Methods to destroy objects in PHP: 1. Assign NULL to the object variable with the syntax "$obj = null;"; 2. Use the unset() function to destroy the object with the syntax "unset($obj);".
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Destroy objects in PHP Method
Method 1: Assign NULL to the object variable
When the object is not referenced, it will be destroyed, so it can be assigned a value NULL
Example: There is such an object:
<?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); ?>
Output result:
Assign NULL to the object variable $obj and destroy the object
$obj = null; var_dump($obj);
Output result:
Method 2: Use the unset() function to destroy the object
Example 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 />'; //先输出换行线再输出走了 析构函数是在线上触发还是线下触发? ?>
Answer:
$b = $c = $d = $a;
By default, the four variables point to the same memory. When unset, the object remains It is used by the other three variables, so the object is not destroyed, so the destructor is triggered offline (the memory is automatically released after the code is executed)
Example 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 />'; //同样的问题: 析构函数是在线上触发还是线下触发? ?>
Before the memory is automatically released after the code runs, the object is not referenced by any variable, so the memory is automatically released....The answer is to trigger it online
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the method to destroy objects in PHP. For more information, please follow other related articles on the PHP Chinese website!