Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung, wie Sie mit der Funktion unset() einzelne oder mehrere Variableninstanzen zerstören

Ausführliche Erläuterung, wie Sie mit der Funktion unset() einzelne oder mehrere Variableninstanzen zerstören

伊谢尔伦
伊谢尔伦Original
2017-06-24 09:38:508002Durchsuche

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[&#39;quux&#39;]);
// 销毁一个以上的变量
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 = &#39;bar&#39;;
destroy_foo();
echo $foo;
?>
<?php
function destroy_foo() {
    global $foo;
    unset($GLOBALS[&#39;foo&#39;]);
}
$foo = &#39;bar&#39;;
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!

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