PHP中的邏輯“與”運算有兩種形式:AND 和 &&,同樣“或”運算也有OR和||兩種形式。
如果是單獨兩個表達式參加的運算,兩種形式的結果完全相同,例如 $a AND $b和$a && $b沒有任何區別。同樣的$a OR $b和$a || $b也完全一樣。
但兩種形式的邏輯運算符優先級不同,這四個符號的優先允許從高到低是:&&、||、AND、OR。特別注意,這句話要仔細理解。舉例:
1.
$a || $b AND $c || $d
相當於:
($a || $b) AND ($c || $d)
2.
$result = isset($a) and is_array($a) ? $a : []
相當於
$result = isset($a) and ( is_array($a) ? $a : [] )
3.
$result = isset($a) && is_array($a) ? $a : []
相當於
$result = (isset($a) && is_array($a)) ? $a : []