Heim >Backend-Entwicklung >PHP-Tutorial >PHP unset()
Der folgende Artikel bietet einen Überblick über PHP unset(). Die Hauptoperation der Methode unset() besteht darin, die als Eingabeargument dafür angegebene Variable zu zerstören. Mit anderen Worten: Es führt einen Reset-Vorgang für die ausgewählte Variable durch. Sein Verhalten kann jedoch je nach Art der Variablen, die zerstört werden soll, variieren. Diese Funktion wird ab Version PHP4 unterstützt.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax von PHP unset()
unset(mixed $selectedvar, mixed $selectedvar1,….., mixed $selectedvarN): void
Im Folgenden sind die verschiedenen Fälle aufgeführt:
Wenn die lokale Variable an die unset-Funktion übergeben wird, setzt die Funktion die Variable zurück.
Beispiel:
Code:
<?php $input = "I have value!!!"; echo "The value of 'input' before unset: " . $input . "<br>"; unset($input); //Applying unset() method on $input variable echo "The value of 'input' after unset: " . $input; ?>
Ausgabe:
Der in der Variablen „input“ enthaltene Wert wird bei der Ausführung der unset()-Methode zerstört.
Wenn der Benutzer versucht, Unset für eine Variable innerhalb einer Funktion zu verwenden und diese auch als globale Variable definiert ist, setzt unset() nur die lokale Variable zurück. Der globale bleibt davon unberührt.
Beispiel:
Code:
<?php function Afunction() { $Avariable = 'local value'; echo "Within the function scope before unset: ".$Avariable."<br>"; global $Avariable; unset($Avariable); //Deletes the local ‘Avariable’ echo "Within the function scope after unset: ".$Avariable."<br>"; } $Avariable = 'Global Value'; //The global ‘Avariable’ echo "Out of the function scope before unset: ".$Avariable."<br>"; Afunction(); echo "Out of the function scope after unset: ".$Avariable."<br>"; ?>
Ausgabe:
Die lokale Version der Variablen „Avariable“ wird zerstört, während die globale Version intakt bleibt.
Wenn die Variable innerhalb der Funktion auch als globale Variable deklariert ist und der Benutzer die globale Variable zerstören muss, kann dies mithilfe des Arrays [$GLOBAL] erreicht werden.
Beispiel:
Code:
<?php function Afunction() { $Avariable = 'local value'; echo "Within the function scope before unset: ".$Avariable."<br>"; global $Avariable; unset($GLOBALS['Avariable']); //Resets the global ‘Avariable’ echo "Within the function scope after unset: ".$Avariable."<br>"; } $Avariable = 'Global Value'; echo "Out of the function scope before unset: ".$Avariable."<br>"; Afunction(); echo "Out of the function scope after unset: ".$Avariable."<br>"; ?>
Ausgabe:
Die lokale Version der Variablen „Avariable“ wird von der Ausführung der Funktion „unset“ nicht beeinflusst, wohingegen die globale Version der Variablen auf den Nullwert gesetzt wird.
Wenn unset() für eine Variable aufgerufen wird, die als Referenz an die Funktion übergeben wird, setzt unset() nur die lokale Variable zurück. Die Variableninstanz in der aufrufenden Umgebung bleibt unverändert.
Beispiel:
Code:
<?php function Afunction(&$Avariable) //’Avariable’ is the pass by reference { $Avariable = 'Internal value'; echo "Within the function scope before unset: ".$Avariable."<br>"; unset($Avariable); //Resets the local ‘Avariable’ echo "Within the function scope after unset: ".$Avariable."<br>"; } $Avariable = 'External Value'; echo "Out of the function scope before unset: ".$Avariable."<br>"; Afunction($Avariable); echo "Out of the function scope after unset: ".$Avariable."<br>"; ?>
Ausgabe:
Die unset()-Methode, die in der übergebenen Referenzvariable „Avariable“ aufgerufen wird, setzt nur den Inhalt der Variablen im lokalen Bereich zurück, ohne den Inhalt aus dem externen Bereich zu beeinflussen.
Wenn eine statische Variable als Eingabeargument für die unset()-Methode festgelegt wird, wird die Variable für den verbleibenden Befehl im Funktionsumfang zurückgesetzt, nachdem die Funktion unset() aufgerufen wurde.
Beispiel:
Code:
<?php function UnsetStatic() { static $staticvar; $staticvar++; echo "Before unset() method is called: $staticvar"."<br>"; //Deletes ‘staticvar’ only for the below commands within the scope of this ‘UnsetStatic’ function unset($staticvar); echo "after unset() method is called: $staticvar"."<br>"; } UnsetStatic(); UnsetStatic(); UnsetStatic(); ?>
Ausgabe:
Die Variable „staticvar“ wird nur für die Befehle zurückgesetzt, die nach dem Aufruf der unset()-Methode ausgeführt werden.
Die Anwendung der unset()-Methode auf ein Array-Element löscht das Element aus dem Array, ohne dass eine Neuindizierung durchgeführt wird.
Beispiel:
Code:
<?php $arrayinput = [0 => "first", 1 => "second", 2 => "third"]; Echo "The array elements, before unset:"."<br>"; Echo $arrayinput[0]." ". $arrayinput[1]." ". $arrayinput[2]." "."<br>"; //Unset operation is called on the second element of the array ‘arrayinput’ unset($arrayinput[1]); Echo "The array elements, after unset:"."<br>"; Echo $arrayinput[0]." ". $arrayinput[1]." ". $arrayinput[2]." "; ?>
Ausgabe:
Die unset()-Methode unterstützt das gleichzeitige Löschen mehrerer Variablen.
Beispiel:
Code:
<?php $input1 = "I am value1"; $input2 = "I am value2"; $input3 = "I am value3"; echo "The value of 'input1' before unset: " . $input1 . "<br>"; echo "The value of 'input2' before unset: " . $input2 . "<br>"; echo "The value of 'input3' before unset: " . $input3 . "<br>"; echo "<br>"; //Reseting input1, input2 and input3 together in single command unset($input1,$input2,$input3); echo "The value of 'input1' after unset: " . $input1."<br>"; echo "The value of 'input2' after unset: " . $input2."<br>"; echo "The value of 'input3' after unset: " . $input3."<br>"; ?>
Ausgabe:
Hinweis: (unset)-Casting ist nicht dasselbe wie die Funktion unset(). (unset)casting wird nur als Umwandlung vom Typ NULL verwendet, während die unset()-Methode die Variable ändert. unset() ist ein Sprachkonstrukt und wird daher von der Variablenfunktion nicht unterstützt. Mit der unset()-Methode können Objekteigenschaften zurückgesetzt werden, die im aktuellen Bereich sichtbar sind, mit Ausnahme der Variablen „$this“ in jeder Objektmethode. Um eine Deaktivierungsoperation für Objekteigenschaften durchzuführen, auf die im aktuellen Bereich nicht zugegriffen werden kann, muss eine Überladungsmethode __unset() deklariert und aufgerufen werden.Das obige ist der detaillierte Inhalt vonPHP unset(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!