Chapitre
5 - Les plus & astuces php
3) Les erreurs
les plus singulières.
a) Un test conditionnel aux résultats
aberrants.
Dans un script il arrive fréquemment que
l'on teste que deux variables soient de valeurs identiques. Et parfois
il s'avère que le test ne marche pas ou donne des valeurs
incorrectes.
En général il est inutile de chercher
bien loin, on aura simplement oublié de signe = dans le test
conditionnel.
L'opérateur d'équivalence est doit être indiqué
par un double signe = soit == (ou un triple signe = à partir
de PHP4 pour vérifier également l'équivalence
du typage des variables), un signe égal seul correspond lui
au signe d'affectation.
If ($x=$y):
génère donc un problème, puisqu'au lieu de
tester l'équivalence entre $x
et $y PHP affecte la valeur de $y
à $x. La syntaxe correcte est
donc
if
($x==$y)
:
b) Une boucle qui donne des résultats
tout aussi étrange.
Encore une erreur sournoise...cette fois avec une
boucle. Soit l'exemple suivant :
for($x=0;
$x<10; $x++)
;
{
echo "La valeur de x est = $x<br>\r\n";
}
Ce bout de code n'affichera qu'une seule fois la
phrase "La valeur de x est 10" et la valeur sera toujours
10. L'erreur vient tout simplement du point virgule placé
à la fin de la ligne for(...)
et encore une fois des syntaxe permissive de PHP
|