'!==' 비교 연산자란?
'!==' 연산자는 두 값이 서로 같지 않은지를 검사하면서 자료형까지 함께 비교하는 엄격한(strict) 비교 연산자입니다. 이 연산자는 자료형을 자동으로 변환하지 않으므로, 값과 타입 모두를 기준으로 판단합니다.
예를 들어 1 !== '1'은 숫자 1과 문자열 '1'을 비교하는데, 값은 같아도 자료형이 다르기 때문에 true를 반환합니다.
'==!' 비교 연산자란?
'==!'는 사실 하나의 독립적인 연산자가 아니라 두 개의 연산자가 결합된 형태입니다. PHP는 이를 == (!$y)처럼 해석합니다. 즉, 먼저 피연산자에 부정 연산자(!)를 적용한 뒤, 그 결과를 등호(==)로 느슨하게(loose) 비교하는 방식으로 동작합니다.
예제 코드
다음 예제는 '!==' 연산자와 '==!' 연산자의 실제 사용법과 동작 결과를 보여줍니다.
<!DOCTYPE html>
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
$x = true;
$y = false;
echo '$x !== operator $y = ';
// $x와 $y는 같지 않으므로
// true가 반환됨
var_dump($x !== $y);
print("<br/>");
echo '$x ==! operator $y = ';
// !$y는 true이며 $x와 값이 같으므로
// true가 반환됨
var_dump($x ==! $y);
?>
</body>
</html>실행 결과
$x !== operator $y = bool(true) $x ==! operator $y = bool(true)
핵심 정리
- '!==': 값과 자료형을 모두 비교하는 엄격한 불일치 연산자입니다.
- '==!': 별도의 연산자가 아니라 '부정(!)'과 '느슨한 비교(==)'가 결합된 표현으로, 코드 가독성을 위해 괄호를 사용해
== (!$y)형태로 작성하는 것이 좋습니다.