Quelle est la méthode pour détruire des objets en PHP

青灯夜游
Libérer: 2023-03-12 14:06:01
original
2862 Les gens l'ont consulté

Méthodes pour détruire des objets en PHP : 1. Attribuez NULL à la variable objet, la syntaxe est "$obj = null;" 2. Utilisez la fonction unset() pour détruire l'objet, la syntaxe est "unset($obj) );".

Quelle est la méthode pour détruire des objets en PHP

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment détruire des objets en PHP

Méthode 1 : Attribuer NULL à la variable objet

Lorsque l'objet Il sera détruit lorsqu'il n'est pas référencé, vous pouvez donc lui attribuer NULL

Exemple : Il existe un tel objet :

<?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);
?>
Copier après la connexion

Résultat de sortie :

Quelle est la méthode pour détruire des objets en PHP

Attribuez NULL à la variable objet $obj , détruisez l'objet

$obj = null;
var_dump($obj);
Copier après la connexion

Résultat de sortie :

Quelle est la méthode pour détruire des objets en PHP

Méthode 2 : Utilisez la fonction unset() pour détruire l'objet

Exemple 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;; //先输出换行线再输出走了    析构函数是在线上触发还是线下触发?
?>
Copier après la connexion

Réponse :

$b = $c = $d = $a;Par défaut, quatre variables passent par référence pointez vers la même mémoire, l'objet est toujours en cours de désactivation. Les trois autres variables sont utilisées, donc l'objet n'est pas détruit, donc le destructeur est déclenché hors ligne (la mémoire est automatiquement libérée après l'exécution du code)

Quelle est la méthode pour détruire des objets en PHP

Exemple 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;; //同样的问题: 析构函数是在线上触发还是线下触发?
?>
Copier après la connexion

Avant que la mémoire ne soit automatiquement libérée après l'exécution du code Puisque l'objet n'est plus référencé par aucune variable, la mémoire est automatiquement libérée....La réponse est de le déclencher en ligne

Quelle est la méthode pour détruire des objets en PHP

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal