Bonjour,
Une question bête : pourquoi je n'arrive pas à rentrer dans la boucle ?
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $a = 0; while ($a != NULL){ echo $a; $a = NULL; }
Bonjour,
Une question bête : pourquoi je n'arrive pas à rentrer dans la boucle ?
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $a = 0; while ($a != NULL){ echo $a; $a = NULL; }
Parce que en valeur, 0 == null, donc..
..est faux et donc tu ne rentres pas dans la boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part $a != NULL
Ceci sera mieux:
=== (ou !==) teste la valeur ET le type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $a = 0; while ($a !== NULL){ // operateur special echo $a; $a = NULL; }
dit le manuel...La valeur spéciale NULL représente l'absence de valeur. Une variable avec la valeur NULL n'a pas de valeur.
C'est-à-dire que
if ($a==NULL)
ne peut être remplacé par rien d'autre, ni par zéro, ni par parenthèses vides... C'est une variable qui n'existe pas encore...
Dans la transmission de variables formulaire par exemple, un champ non touché provoque une variable nulle. Si le client clique dans la fenêtre, tape un truc, puis efface ce truc, et clique submit, là, on aura une variable à "", pas à NULL.
Merci pour vos réponses rapides.
En modifiant le != en !==, ça fonctionne très bien.
Bonne soirée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager