PHP 매뉴얼
이전 |  | 다음

# 10. 장. 연산자

# 연산자 우선순위

연산자 우선순위는 두개의 표현식을 연산자로 얼마나 더 단단하게 연결할 것인지를 명시한다 . 예를 들면, `1 + 5 * 3`의 결과는 `18`이 아니라 `16`이 된다. 왜냐하면 곱셈 ("*") 연산자가 덧셈 ("+") 연산자보다 우선순위가 높기 때문이다. 필요한 경우, 괄호를 사용해서 우선순위를 높일수 있다. 예를 들면, `(1 + 5) * 3`의 결과는 `18`이 된다.

다음 테이블은 낮은 우선순위를 갖는 연산자부터 연산자 우선순위 목록을 보였다.

표 10-1. 연산자 우선순위

Associativity | Operators
--- | ---
left | ,
left | or
left | xor
left | and
right | print
right | = += -= *= /= .= %= &= |= ^= <<= >>=
left | ? :
left | ||
left | &&
left | |
left | ^
left | &
non-associative | == != === !==
non-associative | < <= > >=
left | << >>
left | + - .
left | * / %
right | ! ~ ++ -- (int) (float) (string) (array) (object) @
right | [
non-associative | new

> 참고: `!`이 `=`보다 높은 우선 순위를 갖지만, PHP는 여전히 다음과 같은 표현식을 허용한다: `if (!$a = foo())` 즉, `$a`에 입력되는 `foo()`의 결과에 대한 조건문

이전 | 처음으로 | 다음
표현식 | 위로 | 산술 연산자