[TOC]
* * * * *
# 運算符
### 1. 錯誤控制符 :
* PHP支持一個錯誤運算符 : **@** ;
* 當將其放置在一個PHP**表達式**之前, 該表達式可能產生的任何錯誤信息都被忽略掉;
### 2. 優先級 :
遞增/遞減 > ! > 算術運算符 > 大小比較(><) > (不)相等 > 引用 > 位運算符(^) > 位運算符(|) > 邏輯與> 邏輯或 > 三目 > 賦值 > and > xor > or
### 3. 比較運算符
* == 和 === 的區別
* 等值判斷 (false 的7中情況都是等值的)
### 遞增/遞減運算符
* 遞增/遞減運算符不影響**布爾值**
* true++ 還是true ....
* 遞減NULL值沒有效果
* NULL++ 結果為1
### 邏輯運算符
* 短路作用
* || 和 && 與 or 和 and 的優先級不同
~~~
$a = false || true; // true (優先級: || > =)
$b = false or true; // false (優先級: = > or)
~~~
~~~
$a = 0;
$b = 0;
if ($a = 3 > 0 || $b = 3 > 0) {
var_dump($a); // boolean true
var_dump($b); // int 0
echo $a. "\n"; // 1
echo $b. "\n"; // 0
$a++; // TRUE++ 還是 TRUE
$b++; // 0++
echo $a. "\n"; // 1
echo $b. "\n"; // 1
}
/* 分析 :
$a = 3 > 0 || $b = 3 > 0
↓↓
$a = ((3 > 0) || $b = 3 > 0)
↓↓
3 > 0 為 true;
↓↓
true || $b = 3 > 0
↓↓
|| 將后面短路了, 也就是 || 后面沒有執行
↓↓
最終也就是 ($a = true)....
*/
~~~