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