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

È stato utile?

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