Domanda
questo è probabilmente così semplice ma ancora non riesco a farlo funzionare sto usando questa affermazione:
echo "$num1"."+"."$num2"."=".$num1+$num2."<BR>";
mi aspettavo qualcosa di simile 3 + 3 = 6 ma invece ne ottengo solo 6
qualche idea sul perché?
Soluzione
Metti le parentesi attorno all'aggiunta. Questo è un conflitto di ordini di operazioni.
echo "$num1"."+"."$num2"."=".($num1+$num2)."<BR>";
Il motivo è che PHP aveva interpretato l'espressione come se fosse:
$a = "$num1"."+"."$num2"."=".$num1;
$b = $num2."<BR>";
echo $a + $b;
Quando si aggiungono stringhe, PHP cerca di estrarre un numero da esso. Il primo numero nella stringa $ a
è $ num1
o " 3 " ;. Fa lo stesso per $ b
, ottenendo $ num2
o " 3 " ;. Pertanto, $ a + $ b
è 6.
Altri suggerimenti
echo "$num1"."+"."$num2"."=".($num1).+.($num2)."<BR>";
potrebbe funzionare !!!
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow