<?php $a=1; $b = $a+$a+$a++; echo $b; //结果是3

可以解释一下吗?为什么不是先计算$a++,然后$a=2,结果算下来,应该是5呀... 可以解释一下吗?为什么不是先计算$a++,然后$a=2,结果算下来,应该是5 呀 展开
 我来答
搞文艺的老王
推荐于2016-06-07 · TA获得超过1291个赞
知道小有建树答主
回答量:1706
采纳率:51%
帮助的人:451万
展开全部
朋友,是你的$a++这里出错的,$a++是先输出原值后再加1的。++$a才是输出计算后的值。
如果把用其它变量接收的话,再输出这样 它们是没区别的。
如果直接echo $a++和echo ++$a区别就出来了,你自己试一下
更多追问追答
追问
但是++的运算级更高,应该先计算$a++,这个时候$a已经=2了,然后相加的话,应该是5了
追答

$a++运算级再高,在它所在的行里它就是$a,只有在下一行它才是$a+1的值。以下代码,就是个例子。

<?php 
$a=1; 
$b = $a+$a;
$a++;
$b+=$a; 
echo $b;
?>

如果$a++在当前就为$a+1的话,那么for循环就太不方便了

for($i=0;$i<=50;$i++)
菩提树下0754
2013-11-16 · 超过36用户采纳过TA的回答
知道答主
回答量:195
采纳率:0%
帮助的人:103万
展开全部
写在前面的才先加(++$a),写在后面的后加
更多追问追答
追问
不管是前面还是后面,$a都加了1,变成了2
追答
但是前面的加法运算已经运算完了,b=1+1+1,加完了a=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式