今天來跟大家講解PHP的第五種運算符,也是在我們程式中非常重要的一組運算符,「邏輯運算符」。
什麼是邏輯運算子?
邏輯運算,大家應該都不陌生,在上學期間數學課本裡面就有關於邏輯運算的知識,就是我們常說的「或與非」;邏輯運算子是PHP程式中一組非常重要的運算符,用來組合邏輯運算的結果。
PHP中的邏輯運算子如下表
#運算子名稱 | 範例 | 結果 |
&&或and(邏輯與) | $m 與 $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」的優先權不同,所以他們回傳的結果也是不相同的,程式碼如下
<?php header("Content-type:text/html;charset=utf-8"); //什么使用UTF-8编码 $a = true; //声明一个布尔型变量$a,赋值为真 $b = true; //声明一个布尔型变量$b,赋值为真 $c = false; //声明一个初值为假的布尔型变量$c if($a or $b and $c){ //用or做判断 echo "真"; }else{ echo "假"; } echo "<br/>"; if($a || $b and $c){ //用||做判断 echo "真"; }else{ echo "假"; } ?>
程式碼運行結果:
上面的例子我們使用了相同的if語句,只不過使用了不同的運算子“or”和“||”,但是返回的結果卻是完全相反的,所以說在實際應用中,一定要多注意運算符的優先級這個細節,
到目前給大家介紹了“算術運算符”,“字符串運算符”,“賦值運算符”,“位元運算符”,加上今天的“邏輯運算符”,已經學習了五種了,下一節,我們給大家講解PHP運算符的第六種“比較運算符” 。
相關文章推薦:
#以上是PHP運算子(五)「邏輯運算子」實例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!