하나의 표현에 연산자가 2개 이상인 경우, 연산의 순서를 결정하는 것이 연산자 우선순위 입니다. PHPoC에서 연산자 우선순위는 다음과 같습니다.
우선순위 | 연산자 기호 | 연산자 구분 |
---|---|---|
높음 낮음 |
[ ( | 괄호 |
++ -- ~ (int) (string) (bool) | 증감/캐스트 | |
! | 논리 | |
* / % | 산술 | |
+ - . | 산술 | |
<< >> | 비트 | |
< <= > >= | 비교 | |
== != === !== <> | 비교 | |
& | 비트 | |
^ | 비트 | |
| | 비트 | |
&& | 논리 | |
|| | 논리 | |
? : | 비교(삼항) | |
= += -= *= /= .= %= &= |= ^= <<= >>= | 대입 |
우선순위가 같은 연산자가 중복되어 사용되는 경우에는 왼쪽에 있는 항부터 먼저 연산이 이루어집니다. 단, 대입, 증감, 캐스트 및 논리 연산자 '!'는 예외적으로 오른쪽부터 연산이 시작됩니다.
<?php
$var0 = 3 * 3 % 5; // (3 * 3) % 5 = 4 (왼쪽부터)
$var1 = 1;
$var2 = 2;
$var1 = $var2 += 3; // $var1 = ($var2 += 3), $var1, $var2 = 5 (오른쪽부터)
?>