我正在编写一个小程序时,遇到了一些奇怪的事情。如果我希望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有人能解释一下为什么会发生这种事吗?
发布于 2016-02-02 11:36:58
从马克·贝克的“链接”你可以看到
加法、减法和串连接具有同等的优先级!
在echo "$a + $b = ".$a + $b."<br>"; //15中
将第一个字符串文本和
$a的值连接起来,然后隐式地将其转换为一个数字(10),这样就可以将$b添加到其中,然后将最终的字符串文本连接起来。
当你把它放在括号中时,加法被视为数字(15),因此没有使用字符串的数学运算。
https://stackoverflow.com/questions/35152105
复制相似问题