區別:1、and和「&&」運算子都用來表示邏輯與,and的優先順序較低,「&&」的優先權較高;2、or和「||」運算符都用於表示邏輯或,or的優先權較低,「||」的優先權較高;3、「$」運算子用來表示邏輯非;4、xor運算子用來表示邏輯異或。
本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。
php 邏輯運算子
一直認為PHP中「or」和「| |」是可以劃等號的,其實不然,它們存在著一個優先順序的差別。下面透過一個例子說明它們的差異:
<?php $a = false || true; //'||'的优先级大于'=',先执行 false || true,然后赋值$a $b = false or true; // 'or'的优先级小于'=',先将false赋值给$b var_dump($a).PHP_EOL;//true var_dump($b);//false ?>
執行後,$a為true,而$b為false。這是因為“||”的優先權大於“=”,先執行 false || true,然後將執行後的結果true賦值給$a。而“or”的優先權小於“=”,先將false賦值給$b,因此$b就為false
PHP中的邏輯“與”運算有兩種形式:AND 和 &&,同樣「或」運算也有OR和||兩種形式。
如果是單獨兩個表達式參加的運算,兩個形式的結果完全相同,例如 $a AND $b和$a && $b沒有任何差異。同樣的$a OR $b和$a || $b也完全一樣。
但兩種形式的邏輯運算子優先順序不同,這四個符號的優先允許從高到低是:&&、||、AND、OR。特別注意,這句話要仔細理解。範例:
$a || $b AND $c || $d
相當於:
($a || $b) AND ($c || $d)
推薦學習:《PHP影片教學》
以上是php邏輯運算子之間有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!