비교란 2개의 값의 크기를 판별하여 상태값을 true
/false
논리값으로 판단할 수 있는 연산자입니다.
동일 비교란 서로의 값이 같은지를 판별하는 것입니다.
우리가 알고 있는 같다는 의미의 =
기호는 프로그램 언어에서 대입 연산자로 이미 사용을 하고 있습니다.
따라서 프로그램 언어에서는 서로 같은지 판단하는 기호로 =
를 두 번 표기한 ==
로 사용합니다.
$x == $y
==
기호를 중심으로 좌우의 값이 같은 경우 참(true)을 반환하고, 같지 않은 겨우 거짓(false)을 나타냅니다.
예제 파일 op-03.php
<?php
$x = 123;
$y = 123.0;
if ($x == $y) {
echo "x = y 는 같은 값입니다.";
} else {
echo "x = y 는 서로 틀립니다.";
}
?>
결과
x = y 는 같은 값입니다.
==
기호는 프로그램의 조건문에서 가장 많이 사용하는 기호입니다.
Note: 다음과 같이 실수로
if($a=3)
이라 할때$a
와3
을 비교하지 않고,$a
에3
을 대입하게 됩니다.
그리고 대입한 값이 0보다 큰 값이기 대문에 참 조건이 됩니다.
고전적인 프로그램 언어에서는 서로의 값을 비교하는 연산자 ==
만 사용이 가능했습니다.
하지만 PHP는 확장된 비교 연산자 ===
를 지원합니다.
=
기호를 세 번 연결한 ===
기호는 변수의 값과 더불어 형 타입까지 비교하는 연산자입니다.
예제 파일 op-04.php
<?php
$x = 123;
$y = 123.0;
if ($x === $y) {
echo "x === y 는 같은 값입니다.";
} else {
echo "x === y 는 서로 틀립니다.";
}
?>
결과
x === y는 서로 틀립니다.
위의 예제 $x
는 123
값을 가지고 있는 정수형 타입입니다.
그리고 $y
는 123.0
으로 실수의 값을 가지고 있습니다.
수학적으로 값은 같을 수 있겠지만 타입으로는 정수와 실수로 다릅니다.
==
기호로는 정수든 실수든 값의 크기가 같기 때문에 참(false)을 출력하지만, ===
기호로는 변수 타입까지 비교하기 때문에 거짓(false)을 반환합니다.
프로그램 언어에서는 느낌표(!
)는 부정을 나타냅니다. 논리 기호 not
을 뜻합니다.
앞에서 배운 ==
기호는 두 개의 값이 동일한지를 비교하는 연산자이지만 !
를 앞에 붙이면 같지 않은
조건을 판별할 수 있습니다.
예제 파일 op-05.php
<?php
$x = "hello";
$y = "abcd";
if ($x !== $y) {
echo "x($x) !== y($y) 는 같은 값이 아닙니다.";
} else {
echo "x($x) !== y($y) 는 서로 같습니다.";
}
?>
결과
x(hello) !== y(abcd)는 같은 값이 아닙니다.
!==
연산자 이외에 <>
기호를 사용할 수도 있습니다.
예제 파일 op-06.php
<?php
$x = 123;
$y = 123;
if ($x !== $y) {
echo "x !== y 는 서로 틀립니다.";
} else {
echo "x !== y 는 같은 값입니다.";
}
echo "<br>";
if ($x <> $y) {
echo "x <> y 는 서로 틀립니다.";
} else {
echo "x <> y 는 같은 값입니다.";
}
?>
결과
x !== y 는 같은 값입니다.
x <> y 는 같은 값입니다.
부정 표현은 값을 일치하지 않은 조건으로도 많이 사용하는 비교 연산자입니다.
크기 비교 연산자는 우측의 값을 기준으로 판단합니다.
>
기호는 우측 값보다 좌측 값이 클 때를 비교하는 연산자입니다.
예제 파일 op-07.php
<?php
$x = 123;
if ($x > 120) {
echo "$x 는 120보다 큰 값입니다.";
} else {
echo "$x 크지 않습니다.";
}
echo "<br>";
if ($x > 123) {
echo "$x 는 123보다 큰 값입니다.";
} else {
echo "$x 크지 않습니다.";
}
?>
결과
123는 120보다 큰 값입니다.
123 크지 않습니다.
크다는 표현은 같은 값을 포함하지는 않습니다.
또한 항상 오른쪽이 기준값이 됩니다.
크기 비교 연산자는 우측의 값을 기준으로 판단합니다.
<
기호는 우측의 값보다 좌측의 값이 작을 때를 비교하는 연산자입니다.
예제 파일 op-08.php
<?php
$x = 123;
if ($x < 150) {
echo "$x 는 150보다 작은 값입니다.";
} else {
echo "$x 작지 않습니다.";
}
echo "<br>";
if ($x < 123) {
echo "$x 는 123보다 작은 값입니다.";
} else {
echo "$x 작지 않습니다.";
}
?>
결과
123는 150보다 작은 값입니다.
123 작지 않습니다.
작다는 표현은 같은 값을 포함하지는 않습니다.
크기 비교 연산자는 우측의 값을 기준으로 판단합니다.
>
기호는 우측의 값보다 좌측의 값이 클 때를 비교하는 연산자입니다.
크거나 같다는 표현은 같은 값을 포함하기 때문에 ==
같은 값과 >
큰 값을 확인하는 두 가지 조건을 모두 포함합니다.
예제 파일 op-09.php
<?php
$x = 123;
if ($x >= 120) {
echo "$x는 120보다 큰 값입니다.";
} else {
echo "$x 크지 않습니다.";
}
echo "<br>";
if ($x >= 123) {
echo "$x는 123보다 큰 값입니다.";
} else {
echo "$x 크지 않습니다.";
}
?>
결과
123는 120보다 큰 값입니다.
123는 123보다 큰 값입니다.
크기 비교 연산자는 우측의 값을 기준으로 판단합니다.
<
기호는 우측의 값보다 좌측의 값이 작을 때를 비교하는 연산자입니다.
작거나 같다는 표현은 같은 값을 포함하기 때문에 ==
같은 값과 <
큰 값을 확인하는 두 가지 조건을 모두 포함합니다.
예제 파일 op-10.php
<?php
$x = 123;
if ($x <= 150) {
echo "$x는 150보다 작은 값입니다.";
} else {
echo "$x 작지 않습니다.";
}
echo "<br>";
if ($x <= 123) {
echo "$x는 123보다 작은 값입니다.";
} else {
echo "$x 작지 않습니다.";
}
?>
결과
123는 150보다 작은 값입니다.
123는 123보다 작은 값입니다.