비교 연산자는 두 값을 비교하는 연산자이다. 무조건 참/거짓 타입(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)