Maison >développement back-end >tutoriel php >Explication détaillée de la façon d'utiliser la fonction unset() pour détruire une ou plusieurs instances de variable
La fonction
unset est une fonction fournie avec PHP pour détruire les variables. Nous avons également introduit la méthode d'utilisation d'unset pour détruire les variables statiques et les variables globales. en détruisant les variables du tableau, regardons les exemples ci-dessous.
Exemple 1. unset() Exemple
<?php // 销毁单个变量 unset ($foo); // 销毁单个数组元素 unset ($bar['quux']); // 销毁一个以上的变量 unset ($foo1, $foo2, $foo3); ?>
Le comportement de unset() dans une fonction varie en fonction du type de variable que vous souhaitez détruire.
Si vous supprimez() une variable globale dans une fonction, seule la variable locale sera détruite et les variables de l'environnement appelant conserveront la même valeur avant d'appeler unset().
<?php function destroy_foo() { global $foo; unset($foo); } $foo = ‘bar’; destroy_foo(); echo $foo; ?>
L'exemple ci-dessus affichera :
bar
Si dans une fonction unset() une variable passée par une référence, elle sera seules les variables locales sont détruites, tandis que les variables de l'environnement appelant conserveront la même valeur avant d'appeler unset().
<?php function foo(&$bar) { unset($bar); $bar = “blah”; } $bar = ‘something’; echo “$barn”; foo($bar); echo “$barn”; ?>
L'exemple ci-dessus affichera :
quelque chose
quelque chose
variable statique unset()
À proprement parler, utilisez unset() pour détruire la statique variables , rompt simplement la référence entre nom de la variable et la valeur de la variable.
Exemple :
<?php function foo() { static $b; $a++; $b++; echo "$a---$bn"; unset($a,$b); var_dump($a); var_dump($b); echo "######################n"; } foo(); foo(); foo(); ?>
Exécutez cet exemple, résultat :
1---1 NULL NULL ####################### 1---2 NULL NULL ####################### 1---3 NULL NULL #######################
la variable globale unset()
est la même que la variable statique unset(), if in Si vous supprimez() une variable globale dans une fonction, seule la variable locale sera détruite et les variables de l'environnement appelant conserveront la même valeur avant d'appeler unset().
Essayez de comparer les deux exemples suivants :
<?php function destroy_foo() { global $foo; unset($foo); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
<?php function destroy_foo() { global $foo; unset($GLOBALS['foo']); } $foo = 'bar'; destroy_foo(); echo $foo; ?>
L'exécution du premier exemple affichera : bar , tandis que le deuxième exemple ne produira rien.
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!