Home > Archives > 2008-04-02
2008-04-02
php中运算符的优先级
- 2008-04-02 (Wed)
- 一点点积累
下面表格从高到低列出了php运算符的优先级。同一行中的运算符具有相同的优先级,此时它们的结合方向决定求值顺序。
表格 运算符优先级
| 结合方向 | 运算符 | 附加信息 |
|---|---|---|
| 非结合 | new | new |
| 左 | [ | array() |
| 非结合 | ++ – | 递增/递减运算符 |
| 非结合 | ! ~ - (int) (float) (string) (array) (object) @ | 类型 |
| 左 | * / % | 算数运算符 |
| 左 | + - . | 算数运算符和字符串运算符 |
| 左 | << >> | 位运算符 |
| 非结合 | < <= > >= | 比较运算符 |
| 非结合 | == != === !== | 比较运算符 |
| 左 | & | 位运算符和引用 |
| 左 | ^ | 位运算符 |
| 左 | | | 位运算符 |
| 左 | && | 逻辑运算符 |
| 左 | || | 逻辑运算符 |
| 左 | ? : | 三元运算符 |
| 右 | = += -= *= /= .= %= &= |= ^= <<= >>= | 赋值运算符 |
| 左 | and | 逻辑运算符 |
| 左 | xor | 逻辑运算符 |
| 左 | or | 逻辑运算符 |
| 左 | , | 多处用到 |
左联表示表达式从左向右求值,右联相反。
注: 尽管 ! 比 = 的优先级高,php 仍旧允许类似如下的表达式if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。
- Comments: 0
- Trackbacks: 0
Home > Archives > 2008-04-02
- Search
- Feeds
- Meta
- Advertisement