2009-07-29 15 views
1

dies wahrscheinlich so einfach ist, aber noch kann ich bekomme es nicht arbeiten ich diese Aussage bin mit:php echo wirkt seltsam

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

ich so etwas wie 3 erwartet wurde + 3 = 6 aber stattdessen bekomme ich nur 6

irgendwelche ideen warum?

+1

Sie sollten die Frage erneut eingeben. Jeder weiß, dass sich PHP seltsam verhält. – spoulson

Antwort

10

Setzen Sie Parens um den Zusatz. Dies ist ein Operationsreihenfolgekonflikt.

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

Der Grund ist PHP hatte den Ausdruck interpretiert, als wäre es:

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

Wenn Strings hinzufügen, versucht PHP eine Reihe aus ihm cooerce. Die erste Nummer im $a String ist $num1 oder "3". Es macht das gleiche für $b, bekommen $num2 oder "3". So ist 6.

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

kann es funktionieren !!!

+0

'($ num1). +. ($ Num2)' ist ungültige Syntax ... – yprez