10. 장. 연산자

차례
연산자 우선순위
산술 연산자
지정 연산자
비트 연산자
비교 연산자
에러 제어 연산자
실행 연산자
증가/감소 연산자
논리 연산자
문자열 연산자
배열 연산자

연산자 우선순위

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

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

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

AssociativityOperators
left,
leftor
leftxor
leftand
rightprint
right = += -= *= /= .= %= &= |= ^= <<= >>=
left? :
left||
left&&
left|
left^
left&
non-associative== != === !==
non-associative< <= > >=
left<< >>
left+ - .
left* / %
right! ~ ++ -- (int) (float) (string) (array) (object) @
right[
non-associativenew

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