PHP面試常考易錯題之運算符優先級

開篇先來一張php官網給出的運算符優先級的圖片

PHP面試常考易錯題之運算符優先級

living example one

$a = 1;
echo $a+$a++;
//output 3

考點:

1)運算符優先級以及短路的問題

分析:

1)從開篇頭部圖片可以看出 "++" 優先級是最高的,那麼他將先運算,但是"++"又是先用該字符值後累計

2)當運算到$a的時候已經變成2,由於"++"已經執行了

3)2+1 最後輸出3

living example two

$x = 5;
echo $x;

echo $x+++$x++;
echo $x;
echo $x---$x--;
echo $x;
實際運行結果是
5 11 7 1 5

考點:

1)運算符優先級問題

分析:

1)$x++ 和 $x--這個問題其實非常容易遇見,我們只需記住$x++使用最近的值,然後才自增。

2)運算符的優先級,++ 是明顯高於 +,因此先執行++ 再執行 + 。關於運算符的優先級,有

的時候我們真的可以通過括號來讓我們的程序更加讓人直觀的瞭解,畢竟代碼它不光是用於執行

的,有的時候或許團隊的可讀性也是提高效率的一種。

living example three

$bool = true && false;
var_dump($bool);
//output:false

考點:

1)算術運算符優先級的問題

分析:

1)&& > = 運算符,依次執行順序為&& 之後是= ,因此輸出false

living example four

$a = 0;
$b = 0;
if( $a=3>0 || $b=3>0 ){
$a++;
$b++;
echo $a.'\n';
echo $b.'\n';
}

//output: 1 1

考點:

1)算術運算符優先級的問題

分析:

1)運算符優先級 > > || > = ,因此就會出現3>0,那麼一個為true,整個條件都為true,將進入if條件


分享到:


相關文章: