논리 연산자
논리 연산자(logical operator)
논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다.
and, or, xor 연산자는 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.
! 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.
논리 연산자 | 설명 |
---|---|
and | 논리식이 모두 참이면 참을 반환함. (AND 연산) |
or | 논리식 중에서 하나라도 참이면 참을 반환함. (OR 연산) |
xor | 논리식이 서로 다르면 참을 반환함. (XOR 연산) |
&& | 논리식이 모두 참이면 참을 반환함. (AND 연산) |
|| | 논리식 중에서 하나라도 참이면 참을 반환함. (OR 연산) |
! | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (NOT 연산) |
and와 && 연산자, or와 || 연산자는 정확히 같은 동작을 하며, 연산자의 우선순위에서만 차이가 발생합니다.
다음은 논리 연산자의 모든 동작의 결과를 보여주는 진리표(truth table)입니다.
A | B | A and B (A && B) | A or B (A || B) | A xor B | !A |
---|---|---|---|---|---|
true | true | true | true | false | false |
true | false | false | true | true | false |
false | true | false | true | true | true |
false | false | false | false | false | true |
예제
$num_01 = true;
$num_02 = false;
var_dump($num_01 and $num_02); // true and false -> false
var_dump($num_01 or $num_02); // true or false -> true
var_dump($num_01 xor $num_02); // true xor false -> true
var_dump( (3 < 5) or ("12" > 20) ); // true or false -> true