Pergunta

este é provavelmente tão simples, mas ainda não posso fazê-lo funcionar eu estou usando esta declaração:

echo "$num1"."+"."$num2"."=".$num1+$num2."<BR>";

eu estava esperando algo como 3 + 3 = 6 mas em vez disso eu recebo apenas 6

todas as idéias por quê?

Foi útil?

Solução

parens colocado em volta do além. Esta é uma ordem de conflito operações.

echo "$num1"."+"."$num2"."=".($num1+$num2)."<BR>";

A razão é PHP havia interpretado a expressão como se fosse:

$a = "$num1"."+"."$num2"."=".$num1;
$b = $num2."<BR>";
echo $a + $b;

Ao adicionar cordas, PHP tenta cooerce um número fora dele. O primeiro número na seqüência $a é $num1 ou "3". Ele faz o mesmo para $b, ficando $num2 ou "3". Assim, $a+$b é 6.

Outras dicas

echo "$num1"."+"."$num2"."=".($num1).+.($num2)."<BR>";

pode trabalhar !!!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top