Heim  >  Artikel  >  Backend-Entwicklung  >  PHP unset()

PHP unset()

王林
王林Original
2024-08-29 12:53:091169Durchsuche

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
  • selectedvar: Das obligatorische Argument für die Methode unset(). Mindestens eine Variable, die deaktiviert werden soll, muss als Eingabeargument für die Methode angegeben werden.
  • selectedvarN: Der optionale Parameter, der als Eingabeargument angegeben werden kann, um die unset()-Methode zurückzusetzen.

Anwendungsfälle für unset()

Im Folgenden sind die verschiedenen Fälle aufgeführt:

1. Anwenden von unset() für die lokale Variable

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.

PHP unset()

2. Anwenden einer nicht gesetzten Variable innerhalb einer Funktion, die eine globale Variable ist

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.

PHP unset()

3. Unset für globale Variable innerhalb einer Funktion anwenden

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.

PHP unset()

4. Anwenden von unset() für die Übergabe einer Referenzvariablen

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.

PHP unset()

5. Anwenden von unset() für statische Variable

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.

PHP unset()

6. Anwenden von unset() auf ein Array-Element

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:

PHP unset()

7. Anwenden von unset() auf mehr als ein Element gleichzeitig

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:

PHP unset()

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!

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
Vorheriger Artikel:PHP MD5()Nächster Artikel:PHP MD5()