演算子の優先順位
算数において、掛け算を、足し算よりも優先するように、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 | , | 左 |
