【HR】PHP运算符优先级
下面按照优先级从高到低的顺序列出了 PHP 中的运算符。同一行中的运算符具有相同优先级,此时它们的结合方向决定其运算顺序优先级 结合方向 运算符 附加信息
1 无结合 clone、new clone 和 new
2 从右向左 ** 算术运算符
3 从右向左 ++、--、~、(int)、(float)、(string)、(array)、(object)、(bool)、@ 类型、递增/递减、错误控制
4 无结合 instanceof 类型
5 从右向左 ! 逻辑运算符
6 从左向右 *、/、% 算术运算符
7 从左向右 +、-、. 算术运算符和字符串运算符
8 从左向右 <<、>> 位运算符
9 无结合 <、<=、>、>= 比较运算符
10 无结合 ==、!=、===、!==、<>、<=> 比较运算符
11 从左向右 & 位运算符和引用
12 从左向右 ^ 位运算符
13 从左向右 | 位运算符
14 从左向右 && 逻辑运算符
15 从左向右 || 逻辑运算符
16 从右向左 ?? null 合并运算符
17 从左向右 ? : 三元运算符
18 从右向左 =、+=、-=、*=、**=、/=、.=、%=、&=、|=、^=、<<=、>>= 赋值运算符
19 从左向右 and 逻辑运算符
20 从左向右 xor 逻辑运算符
21 从左向右 or 逻辑运算符
对具有相同优先级的运算符来说,从左向右的结合方向意味着将从左向右求值,从右向左结合方向则反之。对于无结合方向的则具有相同优先级的运算符,该运算符有可能无法与其自身结合。例如在 PHP 中1 < 2 > 1是一个非法语句,而1 <= 1 == 1则不是,因为<=比==优先级高。[花心][花心]
http://cdn.u1.huluxia.com/g4/M01/EC/9C/rBAAdmJvdGaAC3vMAAAtRLkQL6M030.jpg
页:
[1]