Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie eine Funktion zum Zerstören von Variablen in PHP

So verwenden Sie eine Funktion zum Zerstören von Variablen in PHP

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-08-06 11:15:511706Durchsuche

Im vorherigen Artikel haben wir die Methode zum Deserialisieren von Objekten oder Arrays kennengelernt. Wenn Sie sie benötigen, lesen Sie bitte „So deserialisieren Sie Arrays und Objekte in PHP“. Dieses Mal stellen wir Ihnen die Methode zur Verwendung von Funktionen zum Zerstören von Variablen vor. Sie können bei Bedarf darauf zurückgreifen.

Bevor wir mit dem Artikel beginnen, schauen wir uns zunächst an, was die Zerstörung von Variablen ist.

Die Zerstörung von PHP-Variablen oder -Objekten kann in explizite Zerstörung und implizite Zerstörung unterteilt werden:

1. Explizite Zerstörung: Wenn das Objekt nicht referenziert wird, wird es zerstört, sodass wir es aufheben oder NULL zuweisen können

2. Implizite Zerstörung. PHP ist eine Skriptsprache. Wenn die letzte Codezeile ausgeführt wird, muss der gesamte verwendete Speicher freigegeben werden.

Was wir heute vorstellen werden, ist nicht auf explizite Zerstörung ausgerichtet.

Schauen wir uns zuerst eine kleine Kastanie an.

<?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);
$d=null;


echo &#39;<hr />&#39;;
var_dump($a);
echo &#39;<hr />&#39;;
var_dump($b);
echo &#39;<hr />&#39;;
var_dump($c);
echo &#39;<hr />&#39;;
var_dump($d);
?>

Das Ergebnis ist

So verwenden Sie eine Funktion zum Zerstören von Variablen in PHP

Lassen Sie uns ohne weitere Umschweife einen Blick auf diese Funktion werfen. Die Funktion


unset() wird verwendet, um die angegebene Variable zu zerstören.

Unset() zerstört also nicht wirklich den Speicherwert in der Variablen, sondern unterbricht lediglich die Beziehung zwischen der Variablen und dem Speicher und entfernt den Variablennamen, aber der Speicher wird nicht freigegeben, solange er noch referenziert wird ; und In PHP werden Objekte standardmäßig als Wert übergeben, was auch erklärt, warum

auch einen Wert hat. Human类中,$a被unset()了,但是$b =$c = $d

Werfen wir einen Blick auf die Syntax dieser Funktion.

void unset (要销毁的变量)

Wenn unset() eine globale Variable in einer Funktion ist, wird nur die lokale Variable zerstört und die Variablen in der aufrufenden Umgebung behalten denselben Wert wie vor dem Aufruf von unset().

Wenn unset() eine Variable ist, die als Referenz in einer Funktion übergeben wird, wird nur die lokale Variable zerstört und die Variablen in der aufrufenden Umgebung behalten denselben Wert wie vor dem Aufruf von unset().

Wenn unset() eine statische Variable in einer Funktion ist, wird die statische Variable in der Funktion zerstört. Wenn diese Funktion jedoch erneut aufgerufen wird, wird die statische Variable auf den Wert zurückgesetzt, den sie vor ihrer letzten Zerstörung hatte.

Das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie eine Funktion zum Zerstören von Variablen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn