Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP 연산자 '!=='와 '==!'의 차이점 완벽 정리

'!==' 비교 연산자란?

'!==' 연산자는 두 값이 서로 같지 않은지를 검사하면서 자료형까지 함께 비교하는 엄격한(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) 형태로 작성하는 것이 좋습니다.