首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP中的简单算术

PHP中的简单算术
EN

Stack Overflow用户
提问于 2012-04-05 00:35:23
回答 1查看 1K关注 0票数 5

这是一个简单的php程序,它给出了一个奇怪的输出。谁能解释一下为什么会是这样,以及如何获得预期的输出?

代码语言:javascript
运行
复制
<?php
$a=2;$b=3;

echo "<br> ADD:".$a+$b;
echo "<br> SUB:".$a-$b;
echo "<br> MUL:".$a*$b;
echo "<br> DIV:".$a/$b;
?>

输出:

代码语言:javascript
运行
复制
3-3
MUL:6
DIV:0.66666666666667

预期输出:

代码语言:javascript
运行
复制
ADD:5
SUB:-1
MUL:6
DIV:0.66666666666667
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-05 00:37:21

这是因为字符串连接运算符.same precedence作为添加/订阅运算符,并且所有这些运算符都是左关联的。这意味着计算是从左到右进行的,因此首先计算"<br> ADD:".$a,然后将结果添加到3。这个特殊的字符串转换为0和0+ 3 =3。减法类似。

解决方案:将算术放在括号中。

代码语言:javascript
运行
复制
echo "<br> ADD:".($a+$b);
echo "<br> SUB:".($a-$b);

另一方面,mul/div比连接具有更高的优先级,因此它们产生预期的结果。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10015494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档