$变量之后 没有在php中显示echo

问题描述 投票:2回答:4

我正在学习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

那么错误是什么?

php echo
4个回答
0
投票

只需将大括号添加到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

1
投票

使用此代码

$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

1
投票

其他答案只是陈述一个解决方案,这个答案解释了发生了什么以及如何以两种方式防止意外行为。

点运算符与+和 - 具有相同的优先级。

考虑到

$number1 = 10;
$number2 = 20;
echo "<br> ".$number1+$number2;

您使用的点是字符串运算符,而不是数字运算符。发生了什么:

  1. "<br>"10与点运营商连接到"<br>10"
  2. 使用数字+运算符将"<br>10"添加到$ number2(20)。
  3. 非空的非数字字符串将转换为0.含义"<br>10" = 0
  4. 0+20得到20,这使得第3行:echo 20;

这可以通过使用括号echo "<br> ". ($number1 + $number2);或较少见的选项来更改优先级,方法是将更多参数传递给echo语言结构:echo "<br> ", $number1 + $number2;(注意逗号而不是点)。在将所有参数一起输出之前,将首先评估每个参数。

我个人在这种情况下使用第二个选项(多个参数)。


0
投票

您应该修改括号内的代码

echo "<br> ". ($number1 + $number2);

得到你想要的结果。

原因:每个操作都有优先级

参考:http://interactivepython.org/runestone/static/pythonds/BasicDS/InfixPrefixandPostfixExpressions.html

© www.soinside.com 2019 - 2024. All rights reserved.