演算子の優先順位
算数において、掛け算を、足し算よりも優先するように、PHPの演算子にも、優先順位がある。優先したい演算を()で括ることで、優先順位を変更することもできる。優先順位が同じときは、結合規則(左から評価するか、右から評価するか)に基づき優先順位が決まる。
優先順位 | 演算子 | 結合規則 |
---|---|---|
1 | new, clone | 非結合 |
2 | [ | 左 |
3 | ++, -- | 非結合 |
4 | ~ -, (int), (float), (string), (array), (object), (bool), @ | 右 |
5 | instanceof | 非結合 |
6 | ! | 右 |
7 | *, /, % | 左 |
8 | +, -, . | 左 |
9 | <<, >> | 左 |
10 | <, <=, >, >=, <> | 非結合 |
11 | ==, !=, ===, !== | 非結合 |
12 | & | 左 |
13 | ^ | 左 |
14 | | | 左 |
15 | && | 左 |
16 | || | 左 |
17 | ?, : | 左 |
18 | =, +=, -=, *=, /=, .=, %=, &=, |=, ^=, <<=, >>=, => | 右 |
19 | and | 左 |
20 | xor | 左 |
21 | or | 左 |
22 | , | 左 |