【发布时间】:2016-02-02 11:23:51
【问题描述】:
我正在写一个小程序时遇到了一些奇怪的事情。 如果我希望 PHP 使用 echo 语句显示加法或减法的算术运算以及运算结果,我必须添加括号,否则 html 页面不会显示运算,而只会显示结果。
下面是一个简化的例子。
第一种情况(不带括号):
$a = 10;
$b = 5;
echo "$a + $b = ".$a + $b."<br>"; // 15
echo "$a - $b = ".$a - $b."<br>"; // 5
echo "$a * $b = ".$a * $b."<br>"; // 10 * 5 = 50
echo "$a / $b = ".$a / $b."<br>"; // 10 / 5 = 2
echo "$a % $b = ".$a % $b."<br>"; // 10 % 5 = 0
第二种情况(带括号):
$a = 10;
$b = 5;
echo "$a + $b = ".($a + $b)."<br>"; // 10 + 5 = 15
echo "$a - $b = ".($a - $b)."<br>"; // 10 - 5 = 5
echo "$a * $b = ".($a * $b)."<br>"; // 10 * 5 = 50
echo "$a / $b = ".($a / $b)."<br>"; // 10 / 5 = 2
echo "$a % $b = ".($a % $b)."<br>"; // 10 % 5 = 0
谁能解释为什么会这样?
【问题讨论】:
-
@MarkBaker 抱歉,尽管运算符的优先级在这里确实发挥了作用,但尚不清楚 OP 为什么会得到描述输出。我检查并得到了相同的结果。既然您显然知道发生了什么,您介意详细说明您的评论吗?谢谢!
-
关于
echo使用的特别提示。不要串联!而是使用,。例如。echo "$a + $b = ", $a + $b, "<br>";你再也不会遇到这些问题了。 -
@arkascha - 看起来 Pepo_rasta 在他们的回答中已经很好地解释了它