Bonjour,
Une question bête : pourquoi je n'arrive pas à rentrer dans la boucle ?
Merci de votre aide.Code:
1
2
3
4
5
6
7
8 $a = 0; while ($a != NULL){ echo $a; $a = NULL; }
Version imprimable
Bonjour,
Une question bête : pourquoi je n'arrive pas à rentrer dans la boucle ?
Merci de votre aide.Code:
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 boucleCode:$a != NULL
Ceci sera mieux:
=== (ou !==) teste la valeur ET le typeCode:
1
2
3
4
5 $a = 0; while ($a !== NULL){ // operateur special echo $a; $a = NULL; }
dit le manuel...Citation:
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