php运算符优先级问题之短路现象的原理是什么?

2025-05-09 00:42:50
推荐回答(1个)
回答1:

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

  结合方向
  运算符
  附加信息

  无 clone new clone 和 new
  左 [ array()
  右 ++ -- ~ (int) (float) (string) (array) (object) (bool) @ 类型和递增/递减
  无 instanceof 类型
  右 ! 逻辑运算符
  左 * / % 算术运算符
  左 + - . 算术运算符和字符串运算符
  左 << >> 位运算符
  无 == != === !== <> 比较运算符
  左 & 位运算符和引用
  左 ^ 位运算符
  左 | 位运算符
  左 && 逻辑运算符
  左 || 逻辑运算符
  左 ? : 三元运算符
  右 = += -= *= /= .= %= &= |= ^= <<= >>= => 赋值运算符
  左 and 逻辑运算符
  左 xor 逻辑运算符
  左 or 逻辑运算符
  左 , 多处用到
  对具有相同优先级的运算符,左结合方向意味着将从左向右求值,右结合方向则反之。对于无结合方向具有相同优先级的运算符,该运算符有可能无法与其自身结合。