if avec des lettres

Eléphant du PHP | 83 Messages

26 août 2008, 17:53

bonjour,

Code : Tout sélectionner

$a="pompidou"; $b="giscard"; if ($a = $b) { print "a"; } else { print "b"; }
me donne a.

Pourquoi ??????????????

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 août 2008, 18:04

parce que "=" est un caractère d'affectation et que
$a = $b 
reviens à affecter la valeur de $b dans $a, ce qui est réalisé sans problème, et que cette opération retourne true.

Je pense que tu cherches à utiliser l'opérateur de comparaison, qui est "=="
if( $a == $b )
...
Modifié en dernier par zeus le 26 août 2008, 18:05, modifié 1 fois.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 139 Messages

26 août 2008, 18:05

une condition c'est == et pas =
= c'est une affectation
en fait là il rentre tout le temps dans le if car l'affectation c'est bien passée

Eléphant du PHP | 83 Messages

26 août 2008, 19:13

baouu |*() Je dois avoir une bonne dizaine de pages fausses alors ! :afraid:

Merci, c'est super sympa de m'avoir expliqué mon erreur.