Maison  >  Article  >  développement back-end  >  PHP non défini()

PHP non défini()

王林
王林original
2024-08-29 12:53:091167parcourir

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
  • selectedvar: L'argument obligatoire pour la méthode unset(). Au moins une variable à supprimer doit être donnée comme argument d'entrée pour la méthode.
  • selectedvarN : Le paramètre facultatif qui peut être donné comme argument d'entrée, à la méthode unset() pour le réinitialiser.

Cas d'utilisation pour unset()

Voici les différents cas :

1. Application d'unset() pour la variable locale

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().

PHP non défini()

2. Application d'unset pour une variable à l'intérieur d'une fonction qui est une variable globale

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.

PHP non défini()

3. Application d'unset pour une variable globale dans une fonction

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.

PHP non défini()

4. Application d'unset() pour le passage par variable de référence

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.

PHP non défini()

5. Application d'unset() pour une variable statique

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().

PHP non défini()

6. Appliquer unset() sur un élément du tableau

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 :

PHP non défini()

7. Appliquer unset() sur plusieurs éléments à la fois

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 :

PHP non défini()

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHPMD5()Article suivant:PHPMD5()