본문 바로가기
개발 기초/PHP

PHP - 비교 연산자

by 륀두 2020. 4. 23.
반응형

비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환합니다.

비교 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

비교 연산자 설명
== 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 참을 반환함.
=== 왼쪽의 피연산자와 오른쪽의 피연산자가 같고, 같은 데이터타입이면 참을 반환함.
!= 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함.
<> 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함.
!== 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않거나, 타입이 다르면 참을 반환함.
< 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 참을 반환함.
<= 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 참을 반환함.
> 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 참을 반환함.
>= 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 참을 반환함.
$num_01 = 3;
$num_02 = 3.0;

var_dump($num_01 == $num_02);  // true
var_dump($num_01 === $num_02); // false

var_dump($num_01); //int타입
var_dump($num_02); //float타입

PHP에서는 다양한 타입의 값을 서로 비교해야 할 때 다음 규칙에 따라 비교합니다.

 

피연산자1 피연산자2 비교 규칙
bool, null 모두 둘 다 불리언으로 변환한 후 비교함. (false < true)
string,
resource,
integer, float
string,
resource,
integer, float
숫자로 시작하는 문자열과 리소스는 숫자로 변환한 후 비교함.
object object 내장 클래스는 자신의 비교 함수를 정의할 수 있으나, 다른 클래스끼리 비교할 수는 없음.
array array

배열끼리의 비교는 같은 키를 가지는 값을 서로 비교함.

이때 피연산자1 배열의 키가 피연산자2 배열에 존재하지 않으면 비교할 수 없으며, 배열 요소의 수가 적은 쪽이 작은 거로 판단됨.

array 모두 배열이 항상 큰 거로 판단됨.
object 모두 객체가 항상 큰 거로 판단됨.
반응형

'개발 기초 > PHP' 카테고리의 다른 글

PHP - 비트 연산자  (0) 2020.04.23
PHP - 논리 연산자  (0) 2020.04.23
PHP - 증감 연산자  (0) 2020.04.23
PHP - 대입 연산자  (0) 2020.04.23
PHP - 산술 연산자  (0) 2020.04.23