<br> 后的 $variable 未显示在 php 的 echo 中
$variable after <br> is not showing in echo in php
我正在 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
那么错误是什么?
使用了这个代码
$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;
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
你应该修改括号内的代码
echo "<br> ". ($number1 + $number2);
得到你想要的结果。
原因:每个操作都有优先级
获取参考:http://interactivepython.org/runestone/static/pythonds/BasicDS/InfixPrefixandPostfixExpressions.html
其他答案只是陈述了一个解决方案,这个答案解释了发生了什么以及如何以两种方式防止意外行为。
点运算符与 + 和 - 具有相同的优先级。
正在考虑
$number1 = 10;
$number2 = 20;
echo "<br> ".$number1+$number2;
您使用的点是 string 运算符,而不是数字运算符。
发生了什么:
"<br>"
和 10
与点运算符连接到 "<br>10"
.
"<br>10"
使用数字 + 运算符添加到 $number2 (20
)。
- 非空、非数字字符串被转换为0。意思是
"<br>10" = 0
。
0+20
结果为 20,这使得第 3 行:echo 20;
这可以通过使用方括号 echo "<br> ". ($number1 + $number2);
或较少见的选项更改优先级来解决,方法是将更多参数传递给 echo
语言结构:echo "<br> ", $number1 + $number2;
(注意 逗号 而不是点)。在将它们全部输出之前,将首先评估每个参数。
我个人在这种情况下使用第二个选项(多个参数)。
我正在 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
那么错误是什么?
使用了这个代码
$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;
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
你应该修改括号内的代码
echo "<br> ". ($number1 + $number2);
得到你想要的结果。
原因:每个操作都有优先级
获取参考:http://interactivepython.org/runestone/static/pythonds/BasicDS/InfixPrefixandPostfixExpressions.html
其他答案只是陈述了一个解决方案,这个答案解释了发生了什么以及如何以两种方式防止意外行为。
点运算符与 + 和 - 具有相同的优先级。
正在考虑
$number1 = 10;
$number2 = 20;
echo "<br> ".$number1+$number2;
您使用的点是 string 运算符,而不是数字运算符。 发生了什么:
"<br>"
和10
与点运算符连接到"<br>10"
."<br>10"
使用数字 + 运算符添加到 $number2 (20
)。- 非空、非数字字符串被转换为0。意思是
"<br>10" = 0
。 0+20
结果为 20,这使得第 3 行:echo 20;
这可以通过使用方括号 echo "<br> ". ($number1 + $number2);
或较少见的选项更改优先级来解决,方法是将更多参数传递给 echo
语言结构:echo "<br> ", $number1 + $number2;
(注意 逗号 而不是点)。在将它们全部输出之前,将首先评估每个参数。
我个人在这种情况下使用第二个选项(多个参数)。