<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 运算符,而不是数字运算符。 发生了什么:

  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;(注意 逗号 而不是点)。在将它们全部输出之前,将首先评估每个参数。

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