2009-07-29 3 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

Смежные вопросы