2009-07-29 18 views
1

演技エコーこれはおそらくとてもシンプルですが、それでも私はそれが を動作させることはできません私はこの文を使用しています:PHPは奇妙な

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

私は 3 + 3 = 6 のようなものを期待していたが、代わりに私はちょうど6を得る

何か理由は?

+1

質問の再調整を検討する必要があります。誰もがPHPの動作が奇妙であることを知っています。 – spoulson

答えて

10

追加の周りに括弧を入れてください。これは操作の競合の順序です。

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

理由はPHP式を解釈していたで、それはあたかも:文字列を追加する場合

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

、PHPはそれから数をcooerceしようとします。 $a文字列の最初の数字は$num1または "3"です。 $bの場合も同様で、$num2または "3"となります。したがって、$a+$bは6です。

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

+0

'($ num1)。+。($ num2)'は無効な構文です... – yprez