PHP8-新版本语法规则——运算符优先级(从高到低)
| 结合方向 | 运算符 | 附加信息 |
|---|---|---|
| 不适用 | clone new | clone 和 new |
| 右 | ** | 算术运算符 |
| 不适用 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型、递增/递减 |
| 左 | instanceof | 类型 |
| 不适用 | ! | 逻辑运算符 |
| 左 | * / % | 算术运算符 |
| 左 | + - . | 算术运算符 和 字符串运算符 |
| 左 | << >> | 位运算符 |
| 无 | < <= > >= | 比较运算符 |
| 无 | == != === !== <> <=> | 比较运算符 |
| 左 | & | 位运算符 和 引用 |
| 左 | ^ | 位运算符 |
| 左 | | | 位运算符 |
| 左 | && | 逻辑运算符 |
| 左 | || | 逻辑运算符 |
| 右 | ?? | null 合并运算符 |
| 左 | ? : | 三元运算符 |
| 右 | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | 赋值运算符 |
| 不适用 | yield from | yield from |
| 不适用 | yield | yield |
| 不适用 | ||
| 左 | and | 逻辑运算符 |
| 左 | xor | 逻辑运算符 |
| 左 | or | 逻辑运算符 |
PHP7-早期版本语法规则——运算符优先级(从高到低)
| 优先级 | 结合方向 | 运算符 | 附加信息 |
|---|---|---|---|
| 1 | 无 | clone new | clone 和 new |
| 2 | 左 | [ | array() |
| 3 | 右 | ** | 算术运算符 |
| 4 | 右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型和递增/递减 |
| 5 | 无 | instanceof | 类型 |
| 6 | 右 | ! | 逻辑运算符 |
| 7 | 左 | * / % | 算术运算符 |
| 8 | 左 | + - . | 算术运算符和字符串运算符 |
| 9 | 左 | << >> | 位运算符 |
| 10 | 无 | < <= > >= | 比较运算符 |
| 11 | 无 | == != === !== <> <=> | 比较运算符 |
| 12 | 左 | & | 位运算符和引用 |
| 13 | 左 | ^ | 位运算符 |
| 14 | 左 | | | 位运算符 |
| 15 | 左 | && | 逻辑运算符 |
| 16 | 左 | || | 逻辑运算符 |
| 17 | 左 | ?? | 比较运算符 |
| 18 | 左 | ? : | ternary |
| 19 | 右 | = += -= *= **= /= .= %= &= |= ^= <<= >>= | 赋值运算符 |
| 20 | 左 | and | 逻辑运算符 |
| 21 | 左 | xor | 逻辑运算符 |
| 22 | 左 | or | 逻辑运算符 |