연산자
Table of Contents
연산자 우선순위
연산자 우선순위는 두개의 표현식을 연산자로 얼마나 더 단단하게 연결할 것인지를 명시한다 . 예를 들면, 1 + 5 * 3의 결과는 18이 아니라 16이 된다. 왜냐하면 곱셈 ("*") 연산자가 덧셈 ("+") 연산자보다 우선순위가 높기 때문이다. 필요한 경우, 괄호를 사용해서 우선순위를 높일수 있다. 예를 들면, (1 + 5) * 3의 결과는 18이 된다.
다음 테이블은 낮은 우선순위를 갖는 연산자부터 연산자 우선순위 목록을 보였다.
Associativity | Operators |
---|---|
left | , |
left | or |
left | xor |
left | and |
right | |
right | = += -= *= /= .= %= &= |= ^= <<= >>= |
left | ? : |
left | || |
left | && |
left | | |
left | ^ |
left | & |
non-associative | == != === !== |
non-associative | < <= > >= |
left | << >> |
left | + - . |
left | * / % |
right | ! ~ ++ -- (int) (float) (string) (array) (object) @ |
right | [ |
non-associative | new |
Note: !이 =보다 높은 우선 순위를 갖지만, PHP는 여전히 다음과 같은 표현식을 허용한다: if (!$a = foo()) 즉, $a에 입력되는 foo()의 결과에 대한 조건문