기존의 비교연산자는 두 개의 값을 비교하여 참(1)과 거짓(0)으로 논리 결과를 반환했습니다.
PHP 7.x로 업그레이드되면서 두 개의 값이 큰지, 작은지, 같은지를 한 번에 비교하는 스페이스쉽 연산자를 새롭게 지원합니다.
스페이스 연산자는 <=>
로 표시가 되는데 그 모양이 우주선과 같이 보여서 스페이스 연산자라고 명칭하게 되었습니다.
PHP 7.x 이전에 스페이스 연산과 같은 처리를 하기 위해서는 다음과 같은 함수를 만들어서 사용해야 했습니다.
function _Spaceship($a,$b){
if ($a == $b) return 0;
else if($a<$b) return -1;
else if($a>$b) return 1;
}
즉 입력된 2개의 값을 3번의 조건문을 통해 처리했습니다.
예제 파일 space-01.php
<?php
// 정수
echo "정수<br>";
echo "1 <=> 1 = ";
echo 1 <=> 1; // 0
echo "<br>";
echo "1 <=> 2 = ";
echo 1 <=> 2;
echo "<br>"; // -1
echo "2 <=> 1 = ";
echo 2 <=> 1;
echo "<br>"; // 1
// 실수
echo "<br>";
echo "실수<br>";
echo "1.5 <=> 1.5 = ";
echo 1.5 <=> 1.5;
echo "<br>"; // 0
echo "1.5 <=> 2.5 = ";
echo 1.5 <=> 2.5;
echo "<br>"; // -1
echo "2.5 <=> 1.5 = ";
echo 2.5 <=> 1.5;
echo "<br>"; // 1
// 문자열
echo "<br>";
echo "문자열<br>";
echo "a <=> a = ";
echo "a" <=> "a";
echo "<br>"; // 0
echo "a <=> b = ";
echo "a" <=> "b";
echo "<br>"; // -1
echo "b <=> a = ";
echo "b" <=> "a";
echo "<br>"; // 1
?>
결과
정수
1 <=> 1 = 0
1 <=> 2 = -1
2 <=> 1 = 1
실수
1.5 <=> 1.5 = 0
1.5 <=> 2.5 = -1
2.5 <=> 1.5 = 1
문자열
a <=> a = 0
a <=> b = -1
b <=> a = 1