今天來給大家講解PHP的第五種運算子,也是在我們程式中非常重要的一組運算子,“
邏輯運算子”。
什麼是邏輯運算子?
邏輯運算,大家應該都不陌生,在上學期間數學課本裡面就有關於邏輯運算的知識,就是我們常說的“或與非”;邏輯運算子是PHP程式中一組非常重要的運算子,用來組合邏輯運算的結果。
PHP中的邏輯運算子如下表
| 運算子名稱 |
例子 |
結果 |
| &&或and(邏輯與) |
$m and $n 或 $m && $n |
如果 $m 和 $n 都為 true,則返回 true,否則返回false |
||或or(邏輯或) |
$m || $n 或 $m or $n |
$m 和 $n至少有一個為true,則返回 true,否則返回false |
| xor(邏輯異或) |
$m xor $n |
$m 和 $n有且僅有一個為true,則返回 true,否則返回false |
| !(邏輯非) |
! $n |
如果 $n 不為 true,則返回 true,否則返回false |
PS:這裡需要注意的是,邏輯與和邏輯或這兩個運算子有四種運算子號(“&&”,“and”,“||”,“or”),雖然他們之間同屬於一個邏輯結構,例如邏輯或(||和or),但是他們卻有著不同的優先順序。稍後我們會用作例子來說明一下。
關於優先順序,在這裡做個簡單的比較,1+2*5結果是11而不是15,這裡就是因為乘法“*”的優先順序比加法“+”的優先順序高。所以說PHP運算子也是有優先順序。
邏輯運算子執行個體
在這個執行個體中我們使用邏輯或中的運算子號“||”和“or”進行相同的判斷操作,但是因為“||”和“or”的優先順序不同,所以他們返回的結果也是不相同的,代碼如下
<?phpheader("Content-type:text/html;charset=utf-8"); //什麼使用UTF-8編碼$a = true; //聲明一個布爾型變數$a,賦值為真$b = true; //聲明一個布爾型變數$b,賦值為真$c = false; //聲明一個初值為假的布爾型變數$cif($a or $b and $c){ //用or做判斷 echo "真";}else{ echo "假";}echo "<br/>";if($a || $b and $c){ //用||做判斷 echo "真";}else{ echo "假";}?>
代碼運行結果:
上面的例子我們使用了相同的if語句,只不過使用了不同的運算子“or”和“||”,但是返回的結果卻是完全相反的,所以說在實際應用中,一定要多注意運算子的優先順序這個細節,
到目前給大家介紹了“算術運算子”,“字串運算子”,“賦值運算子”,“位元運算符”,加上今天的“邏輯運算子”,已經學習了五種了,下一節,我們給大家講解PHP運算子的第六種“比較子”。
相關文章推薦:
1.PHP運算子(一)"算術運算子"執行個體講解
2.PHP運算子(二)"字串運算子"執行個體詳解
3.PHP運算子(三)”賦值運算子“執行個體講解
4.PHP運算子(四)”位元運算符“執行個體講解