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é?

¿Fue útil?

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
scroll top