$a+$a++ 與 $a+$a+$a++的結果是多少,這個對于很多程序員來講幾乎是都會做錯的,那么$a+$a++ 與 $a+$a+$a++最后會是什么結果?下面我們一起來看看吧.
讓我們來先看一道題:
$a = 1;
$b = $a + $a++; //結果:$a=2,$b=3
這道題不是很難,顯然在PHP中 ++ 的優(yōu)先級比 + 高,所以先執(zhí)行 $a++,這時 $a的值為2
再看一題:
$a = 1;
$b = $a + $a + $a++;
這時 $b 的值應該是多少呢?答案是:3
為什么還是3呢?不是 ++ 的優(yōu)先級比 + 高嗎?先執(zhí)行 $a++ 后,$a的值應該是2,結果是5才對啊.其實這是正確答案是 3,一開始自己也認為應該是5.
解釋:運算符是從左邊往右結合的,上面的表達式相當于
$ = ($a+$a) + $a++
根據(jù)左結合的原則:
這是都是蛋疼的PHP筆試題,在實際項目代碼中應該使用括號來避免這些問題的出現(xiàn).