演算子の優先順位
![]()
複数の演算子が使われている場合、どのような順序で演算が行われるかは、使用されている演算子の優先順位によります。
演算子の優先順位 順位 演算子等 1 new 2 [ 3 !, ~, ++, (int), (double), (string), (array), (object), @ 4 *, /, % 5 +, -, . 6 <<, >> 7 <, <=, >, >= 8 ==, !=, ===, !== 9 & 10 ^ 11 | 12 && 13 || 14 ? : 15 =, +=, -=, *=, /=, .=, %=, &=, |=, ^=, <<=, >>= 16 17 and 18 xor 19 or 20 ,
例えば、「1+2*3」という式では「2*3」が先に計算されますので答えは「7」になります。
優先順位を変えたい場合は、先に演算を行いたい部分を「( )」でくくります。先の例で言えば「(1+2)*3」とすると「1+2」が先に計算されますので、答えは「9」になります。
なお、「&&」と「and」、「||」と「or」はそれぞれ同じ働きをしますが、優先順位が異なりますので注意が必要です。例えば「$x == 1 and $y == 2 || $z == 3」という式では、次のようにTRUEになる条件が違います。
● 「$x ==1 && $y == 2 || $z == 3」がTRUEになる条件
[その1] $xが1で、かつ$yが2のとき
[その2] $zが3のとき● 「$x ==1 and $y ==2 || $x ==3」がTRUEになる条件
[その1] $xが1で、かつ$yが2のとき
[その2] $xが1で、かつ$zが3のとき($y == 2 \\ $z == 3が優先されるため)
<<戻る