2.08. 비교 연산자

비교 연산자는 두 값을 비교하는 연산자이다. 무조건 참/거짓 타입(bool) 을 반환하며 대부분 조건문에서 사용한다.

<?php
$a = 10;
$b = "10";

$c = $a == $b;
$d = $a === $b;
$e = $a != $b;
$f = $a <> $b;
$g = $a !== $b;

$h = 20;

$i = $a > $h;
$j = $a < $h;
$k = $a >= $h;
$l = $a <= $h;


var_dump($a); echo "<br />";
var_dump($b); echo "<br />";
var_dump($c); echo "<br />";
var_dump($d); echo "<br />";
var_dump($e); echo "<br />";
var_dump($f); echo "<br />";
var_dump($g);echo "<br />";
var_dump($h);echo "<br />";
var_dump($i);echo "<br />";
var_dump($j);echo "<br />";
var_dump($k);echo "<br />";
var_dump($l);echo "<br />";

위 코드를 diff_operator.php 파일에 저장하고 브라우저에서 결과를 확인한다.

int(10) 
string(2) "10" 
bool(true) 
bool(false) 
bool(false) 
bool(false) 
bool(true) 
int(20) 
bool(false) 
bool(true) 
bool(false) 
bool(true) 


== 는 값이 같은지 비교한다. 타입은 신경쓰지 않는다.

$c = $a == $b;

숫자 타입 $a와 문자열 타입 $b을 비교했지만 "같다"고 판단했다.

bool(true) 

=== 는 값과 타입이 같은지 비교한다. 값이 다르거나 타입이 다르면 거짓(false)이다.

$d = $a === $b;

타입이 다르므로 서로 다르다고 판단했다.

bool(false) 

!= 은 값이 다른지 비교한다. 타입은 신경쓰지 않는다.

$e = $a != $b;

10과 "10"이 같다고 판단했기 때문에 다른지 판단한 경우 false다.

bool(false)

<> 은 값이 다른지 비교한다. 타입은 신경쓰지 않는다. != 과 같은 의미이다.

$f = $a <> $b;
bool(false)

!== 은 값과 타입이 다른지 비교한다. 값이 다르거나 타입이 다르면 참(true)이다.

$g = $a !== $b;

값은 동일하지만 타입이 다르므로 참이다.

bool(true) 

> 은 앞의 숫자가 뒤의 숫자보다 큰지 비교한다.

$i = $a > $h;
bool(false) 

< 은 앞의 숫자가 뒤의 숫자보다 작은지 비교한다.

$j = $a < $h;
bool(true) 

>= 은 앞의 숫자가 뒤의 숫자보다 크거나 같은지 비교한다.

$k = $a >= $h;
bool(false) 

<= 은 앞의 숫자가 뒤의 숫자보다 작거나 같은지 비교한다.

$l = $a <= $h;
bool(true)