Question
c'est probablement si simple mais je n'arrive toujours pas à le faire fonctionner J'utilise cette déclaration:
echo "$num1"."+"."$num2"."=".$num1+$num2."<BR>";
je m'attendais à quelque chose comme 3 + 3 = 6 mais au lieu de cela, je reçois seulement 6
des idées pourquoi?
La solution
Mettez parens autour de l'addition. C’est un conflit d’ordre d’opérations.
echo "$num1"."+"."$num2"."=".($num1+$num2)."<BR>";
La raison en est que PHP a interprété l'expression comme si elle était:
$a = "$num1"."+"."$num2"."=".$num1;
$b = $num2."<BR>";
echo $a + $b;
Lors de l’ajout de chaînes, PHP essaie de cooercer un nombre. Le premier numéro de la chaîne $ a
est $ num1
ou "3". Il en va de même pour $ b
, obtenant $ num2
ou "3". Ainsi, $ a + $ b
vaut 6.
Autres conseils
echo "$num1"."+"."$num2"."=".($num1).+.($num2)."<BR>";
ça peut marcher !!!
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow