繁体   English   中英

$变量之后<br>在 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;
$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 "<br> ". ($number1 + $number2); echo "<br> ". ($number1 + $number2); 或较少见的选项,通过向echo语言构造传递更多参数: echo "<br> ", $number1 + $number2; (注意逗号而不是点)。 在将它们全部输出之前,将首先评估每个参数。

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

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

您应该修改括号内的代码

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

得到你想要的结果。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM