我正在学习php的基础知识,我试图在echo命令中添加多个参数。但是<br>
之后的变量没有显示出来。
$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
echo "<br> ".$number1+$number2;
输出应该是:
number 1 is: 10
number 2 is: 20
30
但输出是:
number 1 is: 10
number 2 is: 2020
那么错误是什么?
只需将大括号添加到sum操作即可。
$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
echo "<br> ".($number1+$number2);
输出将是:
number 1 is: 10
number 2 is: 20
30
使用此代码
$number1=10;
echo "number 1 is: ".$number1."<br>";
$number2=20;
echo "number 2 is: ".$number2;
$total= $number1+$number2;
echo "<br> ".$total;
?>
输出将是:
number 1 is: 10
number 2 is: 20
30
其他答案只是陈述一个解决方案,这个答案解释了发生了什么以及如何以两种方式防止意外行为。
点运算符与+和 - 具有相同的优先级。
考虑到
$number1 = 10;
$number2 = 20;
echo "<br> ".$number1+$number2;
您使用的点是字符串运算符,而不是数字运算符。发生了什么:
"<br>"
和10
与点运营商连接到"<br>10"
。"<br>10"
添加到$ number2(20
)。"<br>10" = 0
。0+20
得到20,这使得第3行:echo 20;
这可以通过使用括号echo "<br> ". ($number1 + $number2);
或较少见的选项来更改优先级,方法是将更多参数传递给echo
语言结构:echo "<br> ", $number1 + $number2;
(注意逗号而不是点)。在将所有参数一起输出之前,将首先评估每个参数。
我个人在这种情况下使用第二个选项(多个参数)。
您应该修改括号内的代码
echo "<br> ". ($number1 + $number2);
得到你想要的结果。
原因:每个操作都有优先级
参考:http://interactivepython.org/runestone/static/pythonds/BasicDS/InfixPrefixandPostfixExpressions.html