Maison > Article > développement back-end > PHP non défini()
L'article suivant fournit un aperçu de PHP unset(). L'opération principale de la méthode unset() consiste à détruire la variable spécifiée comme argument d'entrée. Autrement dit, il effectue une opération de réinitialisation sur la variable sélectionnée. Cependant, son comportement peut varier en fonction du type de variable que l'on souhaite détruire. Cette fonction est prise en charge à partir de la version PHP4.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Syntaxe de PHP unset()
unset(mixed $selectedvar, mixed $selectedvar1,….., mixed $selectedvarN): void
Voici les différents cas :
Lorsque la variable locale est transmise à la fonction unset, la fonction réinitialise la variable.
Exemple :
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; ?>
Sortie :
La valeur contenue dans la variable 'input' est détruite lors de l'exécution de la méthode unset().
Lorsque l'utilisateur tente d'utiliser Unset pour une variable dans une fonction et qu'elle est également définie comme variable globale, alors unset() réinitialise uniquement la variable locale. Le mondial reste inchangé.
Exemple :
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>"; ?>
Sortie :
La version locale de la variable 'Avariable' est détruite alors que la version globale reste intacte.
Si la variable dans la fonction est également déclarée comme variable globale et que l'utilisateur doit détruire la variable globale, cela peut être réalisé en utilisant le tableau[$GLOBAL].
Exemple :
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>"; ?>
Sortie :
La version locale de la variable 'Avariable' n'est pas affectée par l'exécution de la fonction unset alors que la version globale de la variable est définie sur une valeur nulle.
Si unset() est appelé sur une variable transmise à la fonction comme référence, unset() réinitialise uniquement la variable locale. L'instance de variable dans l'environnement appelant est conservée telle quelle.
Exemple :
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>"; ?>
Sortie :
La méthode unset() appelée dans la variable de référence 'Avariable' réinitialise uniquement le contenu de la variable dans la portée locale sans affecter le contenu de la portée externe.
Lorsqu'une variable statique est définie comme argument d'entrée de la méthode unset(), la variable est réinitialisée pour la commande restante dans la portée de la fonction après l'appel de la fonction unset().
Exemple :
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(); ?>
Sortie :
La variable 'staticvar' est réinitialisée uniquement pour les commandes suivies après l'appel de la méthode unset().
L'application de la méthode unset() sur un élément du tableau supprime l'élément du tableau sans présenter d'opération de réindexation.
Exemple :
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]." "; ?>
Sortie :
La méthode unset() prend en charge la suppression de plusieurs variables à la fois.
Exemple :
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>"; ?>
Sortie :
Remarque : Le casting (unset) n'est pas la même chose que la fonction unset(). (unset)casting est utilisé uniquement comme cast de type NULL alors que la méthode unset() modifie la variable. unset() est une construction de langage et n'est donc pas prise en charge par la fonction variable. La méthode unset() peut être utilisée pour réinitialiser les propriétés d'objet qui sont visibles dans la portée actuelle, à l'exception de la variable « $this » dans n'importe quelle méthode d'objet. Afin d'effectuer une opération de non-définition sur les propriétés de l'objet qui ne sont pas accessibles dans la portée actuelle, une méthode de surcharge __unset() doit être déclarée et appelée.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!