主页 > PHP > php运算

php运算

2013 年 8 月 31 日 没有评论

第一段程序:

1
2
3
4
$a=1;
$b=&$a;
$c =(++$a)+($a++);
echo $c; // $c=5;

第二段程序:

1
2
3
$a=1;
$c=(++$a)+($a++);
echo $c; //$c=4;

两端程序的输出结果有所不同 第一为5;第二个为4;
解析第一段程序的执行顺序
++$a;$a等于2; 同时被$b引用;此时b等于2;
$a++时;$a等于2;被$b引用过后变成了3;此时$b等于3;
(详见php手册递增运算符的解释)

第二段程序也就是没有被引用过所以$a++的表达式 还是为2;故第二段程序输出为4;
以上内容如有不对 请留言说明 谢谢。

评论已关闭.