标题:谁能解释,这两个结果为什么不同?
只看楼主
氢离子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-4
 问题点数:0 回复次数:5 
谁能解释,这两个结果为什么不同?
<?php
$a = 1;
$c = (++$a)+($a++);
echo $c; //$c=4
$a = 1;
$b = &$a; //多了这一句
$c = (++$a)+($a++);
echo $c; //$c=5
?>


搜索更多相关主题的帖子: echo 结果 php 解释 
2007-07-04 14:58
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
得分:0 
最近这个问题在PHPCHINA问了不下三次。。。
2007-07-05 10:50
氢离子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-4
得分:0 

你也知道呀,呵呵,我就是转过来的,因为我找不到有答案的帖子,而那里的人不讨论了.....

2007-07-06 16:44
zhyaojing
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-4-19
得分:0 

搞不懂
太深奥了
测试不出


2007-07-07 12:19
發呆的小猪
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:362
专家分:0
注 册:2006-10-10
得分:0 

这里 $b = &$a;是一个PHP引用.//$a =1

在 $c = (++$a)+($a++);中, 当前半部分(++$a)完了之后,此时$a=2,由于引用值被保存在另一个变量中

在后半部分($a++)中,自然在运算这里部分之前$a=2,运算完后 $a =3


营口小猪 http://bbs.
2007-07-10 08:35
氢离子
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-7-4
得分:0 

谢谢了,小猪的意思是下一个步骤的运算与引用值有关,因为引用,所以$a的值因为前一运算而被保存起来了
我的理解对吧

2007-07-10 17:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-152671-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.179849 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved