关于 ++跟&一点疑惑

WBOY
풀어 주다: 2016-06-13 12:09:51
원래의
967명이 탐색했습니다.

关于 ++和&一点疑惑

本帖最后由 yinjie_1984 于 2014-11-15 08:22:22 编辑 $a=1;
$b=&$a;
$b=$a++;

//求$a、$b
第二句话的意思是b也指向了a的地址;
第三句话的意思是在使用后a的值加1,所以$b=1;
关键是后面我不了解了$a++,不表示使用后加1,所以现在$a=2;
可是$b的地址和a的地址一样岂不是$b也等于2?还是第三句话后面的$a++根本就是没执行?这道题答案是$a,$b都是1;
比如和这个比较
$a=1;
$b=$a++;
?>
这个不就是$b=1,$a=2
有点晕啊。。。
------解决思路----------------------
$a = 1;<br />$b = $a++;<br />var_dump($a, $b);<br />/*<br />int(2)<br />int(1)<br />*/<br /><br />$a = 1;<br />$b = &$a;<br />$a++;<br />var_dump($a, $b);<br />/*<br />int(2)<br />int(2)<br />*/<br /><br />$a = 1;<br />$b = &$a;<br />$b = $a++;<br />var_dump($a, $b);<br />/*<br />int(1)<br />int(1)<br />*/<br />
로그인 후 복사

对于 $b = $a++;
将 $a 的值 1 取出赋予 $b,但 ++ 的优先级高于 =,所以取值后先不做赋值,而是做 ++,于是 $a 的值为 2(由于 $b 是 $a 的引用,所以此刻 $b 的值也是 2)
然后做赋值操作,$b 的值就等于 1 了
因为 $b 是 $a 的引用,于是 $a 又被改回了 1
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!