본문 바로가기
Programming Language/PHP

[PHP] 비교 연산자 ==, !=, ===, !==

by spareone 2025. 4. 30.

php에는 == 연산자와 === 연산자가 존재합니다.

차이점은 == 연산자는 값의 일치 여부를 확인하며, === 연산자는 값의 일치 여부와 자료형의 일치 여부를 검사합니다.

[그림 1] == 연산자 비교 결과 테이블

==의 경우 값의 일치 여부만 검사하기 때문에, 자료형이 다를 경우 대충 변환해 보고 맞으면 true를 반환하게 됩니다.

여러 경우를 [그림 1]의 표에서 확인할 수 있습니다.

[그림 2] === 연산자 비교 결과 테이블

===의 경우 값의 일치 여부와 자료형 일치 여부를 검사합니다. 두 가지 모두 만족해야 true를 반환하므로, 자료형이 다르면 다르다고 취급됩니다.

엄격한 검사가 필요할 때 ===를 사용하지 않으면, 의도하지 않은 취약점이 발생할 수 있습니다.

 

참고
 https://www.php.net/manual/en/language.operators.comparison.php
 https://www.php.net/manual/en/types.comparisons.php

댓글