[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)....
*/
~~~