php程序如下:$a=1; $b=&$a; $b=$a++;echo $a,$b;请问为什么输出是1,1不是2,2?

 我来答
windSoul_
2012-02-07 · 超过27用户采纳过TA的回答
知道答主
回答量:96
采纳率:100%
帮助的人:77万
展开全部
注意运算符的优先级
更多追问追答
追问
$a++ 是先把1赋给了$b,再++,但是++之后应该是2啊?难道白++了?
追答
首先、自增运算符++的优先级比赋值运算符=的优先级要高
关键在$b=$a++;这句话的执行
这句话在计算机内部的实现过程如下:temp(中间变量)
temp=$a;$a=temp+1;return temp;
$b获得返回的temp=1;
所以先执行的是$a++ 再执行$b的赋值过程$b=temp=1
所以最终结果会是1,1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loss_me
2012-02-08 · 超过22用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:63.7万
展开全部
echo $a,$b;//这样不报错么?
<?php
$a=1;
$b=&$a;
$b=++$a;
echo $b."==".$a;
?>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式