php – 为什么在连接时必须将括号添加到 – 操作?

当我遇到一些奇怪的东西时,我正在写一个小程序.
如果我希望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

任何人都可以解释为什么会这样吗?

解决方法:

从马克贝克link你可以看到

Addition, subtraction, and string concatenation have equal precedence!

在echo“$a $b =”.$a $b.“< br>”; // 15

Concatenate the first string literal and the value of $a, then implicitly convert that to a number (10) so you can add $b to it, then concatenate the final string literal.

当你把它放在括号中时,加法被视为数字(15),因此没有字符串的数学运算

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...