(reprise du message précédent)
Il existe une petite astuce très simple pour ne plus se faire avoir, si tu n'arrives pas à te débarrasser définitivement de cette erreur de débutant: prendre l'habitude d'écrire systématiquement 123==$truc plutôt que $truc==123. Si tu oublies un = dans ce cas, tu auras forcément une erreur de compilation.
Modifié par QuentinC (13 Aug 2015 - 21:19)
a écrit :
Ce sur quoi je voulais attirer l'attention, c'est que la syntaxe pour un test d'égalité est
if($truc == 'machin') ...
avec DEUX signes "=". Le problème c'est que, si on n'en met qu'un seul ce n'est pas détecté comme une erreur -- pour d'excellentes raisons -- mais ça veut dire aussi qu'on ne trouve pas facilement l'erreur quand on l'a faite. Je ne compte plus le nombre de fois où je me suis gratté la tête sur ce sujet, surtout quand je passe en quelques minutes d'un langage où une comparaison se fait avec un seul signe "=" à un langage où il en faut deux.
Il existe une petite astuce très simple pour ne plus se faire avoir, si tu n'arrives pas à te débarrasser définitivement de cette erreur de débutant: prendre l'habitude d'écrire systématiquement 123==$truc plutôt que $truc==123. Si tu oublies un = dans ce cas, tu auras forcément une erreur de compilation.
Modifié par QuentinC (13 Aug 2015 - 21:19)