Pregunta
esto es probablemente tan simple pero todavía no puedo hacer que funcione Estoy usando esta declaración:
echo "$num1"."+"."$num2"."=".$num1+$num2."<BR>";
esperaba algo como 3 + 3 = 6 pero en vez de eso solo obtengo 6
alguna idea de por qué?
Solución
Ponga parens alrededor de la adición. Este es un conflicto de orden de operaciones.
echo "$num1"."+"."$num2"."=".($num1+$num2)."<BR>";
La razón es que PHP interpretó la expresión como si fuera:
$a = "$num1"."+"."$num2"."=".$num1;
$b = $num2."<BR>";
echo $a + $b;
Al agregar cadenas, PHP intenta obtener un número de él. El primer número en la cadena $ a
es $ num1
o " 3 " ;. Hace lo mismo para $ b
, obteniendo $ num2
o " 3 " ;. Por lo tanto, $ a + $ b
es 6.
Otros consejos
echo "$num1"."+"."$num2"."=".($num1).+.($num2)."<BR>";
puede funcionar !!!
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow