연산자 우선권

연산자 우선권은 두 표현이 얼마나 "단단하게" 묶여 있는지 정의합니다. 예를 들어, 1 + 5 * 3 표현의 답은 18이 아닌 16입니다. 곱셈("*") 연산자가 덧셈(+) 연산자보다 높은 우선권을 가지기 때문입니다. 필요하다면, 우선권을 강제하기 위해 괄호를 사용할 수 있습니다. 예를 들면: (1 + 5) * 318로 평가됩니다. 연산자 우선권이 같으면, 왼쪽에서 오른쪽 결합을 사용합니다.

다음 표는 높은 우선권을 가지는 연산자가 위쪽에 나오는 연산자 우선권 목록입니다. 같은 줄에 있는 연산자는 같은 우선권을 가지며, 이 경우 결합이 평가하는 순서를 결정합니다.

연산자 우선권
결합 연산자 추가 정보
무결합 clone new clonenew
왼쪽 [ array()
무결합 ++ -- 증가/감소
무결합 ~ - (int) (float) (string) (array) (object) (bool) @ 자료형
무결합 instanceof 자료형
오른쪽 ! 논리
왼쪽 * / % 계산
왼쪽 + - . 계산 그리고 문자열
왼쪽 << >> 비트
무결합 < <= > >= <> 비교
무결합 == != === !== 비교
왼쪽 & 비트 그리고 참조
왼쪽 ^ 비트
왼쪽 | 비트
왼쪽 && 논리
왼쪽 || 논리
왼쪽 ? : 삼항
오른쪽 = += -= *= /= .= %= &= |= ^= <<= >>= 할당
왼쪽 and 논리
왼쪽 xor 논리
왼쪽 or 논리
왼쪽 , 다양한 사용

왼쪽 결합은 표현이 왼쪽에서 오른쪽으로 평가됨을 의미하며, 오른쪽 결합은 반대입니다.

출처: http://kr2.php.net/manual/kr/language.operators.precedence.php