学科分类
目录
PHP基础

运算符优先级

前面介绍了PHP的各种运算符,若一个表达式中含有多个运算符时,这些运算符会遵循一定的先后顺序,这个顺序就称为运算符的优先级。PHP中运算符的优先级如表11所示。

表1 运算符优先级

结合方向 运算符
无 new
左 [
右 ++ -- ~ (int) (float) (string) (array) (object) @
无 instanceof
右 !
左 * / %
左 + - .
左 << >>
无 == != === !== <>
左 &
左 ^
左 |
左 &&
左 ||
左 ? :
右 = += -= *= /= .= %= &= |= ^= <<= >>=
左 and
左 xor
左 or
左 ,

在表1中,运算符的优先级由上至下递减,同一行的运算符具有相同的优先级,左结合方向表示同级运算符的执行顺序为从左到右,而右结合方向则表示执行顺序为从右到左。

​ 在表达式中,使用小括号“( )”可以提升其内运算符的优先级,具体示例如下。

   $num1 = 4 + 3 * 2;   // 输出结果为10
   $num2 = (4 + 3) * 2;  // 输出结果为14

上述示例中,未加小括号的表达式“4 + 3 * 2”的执行顺序为,先进行乘法运算,再进行加法运算;而加了小括号的表达式“(4 + 3) * 2”的执行顺序为,先进行小括号内的加法运算,然后进行乘法运算。

点击此处
隐藏目录