2011-02-05 6 views
2

Possible en double:
Can you unset() many variables at once in PHP?groupe MHS de variables

$var1 = $var2 = $tvar3 = null; 

Est-il correct de supprimer des variables comme celui-ci?

Existe-t-il de meilleurs moyens de supprimer deux variables?

+0

êtes-vous sûr que vous voulez vraiment des variables non définies en grand nombre? –

+0

@Col: Pensez-y comme ... génocide variable: P – BoltClock

+0

duplicata possible de http://stackoverflow.com/questions/1275766/can-you-unset-many-variables-at-once-in-php –

Répondre

12

unset() est variadique (à savoir qu'il faut un certain nombre d'arguments et les met à l'arrêt tous):

unset($var1, $var2, $var3); 

Notez également que unset() n'est pas la même chose que la mise à NULL. En utilisant unset() vous supprimez réellement les variables, alors que le réglage à NULL les garde définies, juste avec une "valeur" de NULL. En procédant de la sorte, isset() renvoie false sur ces variables, mais elles sont toujours sémantiquement et techniquement différentes.

Voici une preuve rapide:

<?php 

$x = NULL; 
var_dump(array_key_exists('x', $GLOBALS)); // bool(true) 

unset($x); 
var_dump(array_key_exists('x', $GLOBALS)); // bool(false) 

?> 
+0

+1 me battre pour ça! –

+1

Pour l'enregistrement, si quelqu'un veut que je supprime ma réponse juste le dire dans un commentaire au lieu de downvoting ou de révocation des upvotes. Et même alors je refuserai probablement parce que seule cette question a l'énigme '= NULL' vs' unset() 'que j'ai pris la liberté d'expliquer ici avant même que le doublon ait été trouvé. À moins, bien sûr, que quelqu'un trouve une question plus ancienne à ce sujet. – BoltClock

Questions connexes