Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung, wie Sie mit der Funktion unset() einzelne oder mehrere Variableninstanzen zerstören
Die
unset-Funktion ist eine Funktion, die mit PHP geliefert wird, um Variablen zu zerstören. Wir haben die Methode der Verwendung von unset zum Zerstören von statischen-Variablen und globalen Variablen eingeführt Schauen wir uns die folgenden Beispiele an, um Array-Variablen zu zerstören.
Beispiel 1. unset()-Beispiel
<?php // 销毁单个变量 unset ($foo); // 销毁单个数组元素 unset ($bar['quux']); // 销毁一个以上的变量 unset ($foo1, $foo2, $foo3); ?>
Das Verhalten von unset() in einer Funktion variiert je nach Art der Variablen, die Sie zerstören möchten.
Wenn Sie eine globale Variable in einer Funktion unset() entfernen, wird nur die lokale Variable zerstört und die Variablen in der aufrufenden Umgebung behalten den gleichen Wert, bevor wir unset() aufrufen.
<?php function destroy_foo() { global $foo; unset($foo); } $foo = ‘bar’; destroy_foo(); echo $foo; ?>
Das obige Beispiel gibt Folgendes aus:
bar
Wenn in einer Funktion unset() eine Variable von einer -Referenz übergeben wird, wird dies der Fall sein Nur lokale Variablen werden zerstört, während Variablen in der aufrufenden Umgebung denselben Wert behalten, bevor wir unset() aufrufen.
<?php function foo(&$bar) { unset($bar); $bar = “blah”; } $bar = ‘something’; echo “$barn”; foo($bar); echo “$barn”; ?>
Das obige Beispiel gibt Folgendes aus:
etwas
etwas
statische Variable unset()
Genau genommen verwenden Sie unset(), um statische Variablen zu zerstören Variables unterbricht lediglich die Referenz zwischen Variablenname und Variablenwert.
Beispiel:
<?php function foo() { static $b; $a++; $b++; echo "$a---$bn"; unset($a,$b); var_dump($a); var_dump($b); echo "######################n"; } foo(); foo(); foo(); ?>
Führen Sie dieses Beispiel aus, Ausgabe:
1---1 NULL NULL ####################### 1---2 NULL NULL ####################### 1---3 NULL NULL #######################
unset() globale Variable
ist dasselbe wie die statische Variable unset(), Wenn Sie in einer Funktion eine globale Variable unset() entfernen, wird nur die lokale Variable zerstört, und die Variablen in der aufrufenden Umgebung behalten denselben Wert bei, bevor wir unset() aufrufen.
Versuchen Sie, die folgenden beiden Beispiele zu vergleichen:
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
<?php function destroy_foo() { global $foo; unset($GLOBALS['foo']); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
Beim Ausführen des ersten Beispiels wird Folgendes ausgegeben: bar, während beim zweiten Beispiel nichts ausgegeben wird.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung, wie Sie mit der Funktion unset() einzelne oder mehrere Variableninstanzen zerstören. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!