Home > Archives > 2008-04-02

2008-04-02

php中运算符的优先级

下面表格从高到低列出了php运算符的优先级。同一行中的运算符具有相同的优先级,此时它们的结合方向决定求值顺序。

表格 运算符优先级

结合方向 运算符 附加信息
非结合 new new
[ array()
非结合 ++ – 递增/递减运算符
非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型
* / % 算数运算符
+ - . 算数运算符和字符串运算符
<< >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
& 位运算符和引用
^ 位运算符
| 位运算符
&& 逻辑运算符
|| 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符
, 多处用到

左联表示表达式从左向右求值,右联相反。

注: 尽管 ! 比 = 的优先级高,php 仍旧允许类似如下的表达式if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。

Home > Archives > 2008-04-02


Search
Feeds
Meta
Advertisement

Return to page top