PHP의 gmp_cmp() 함수는 임의 정밀도 정수인 GMP 숫자 두 개를 서로 비교하는 데 사용됩니다. 일반 정수형으로 표현할 수 없는 매우 큰 수를 다룰 때 유용한 GMP 확장 모듈의 핵심 함수 중 하나입니다.
문법
gmp_cmp(n1, n2)
매개변수
n1 − 비교할 첫 번째 GMP 숫자입니다. PHP 5.6 이상에서는 GMP 객체를 사용할 수 있으며, 숫자 문자열도 허용됩니다.
n2 − 비교할 두 번째 GMP 숫자입니다. PHP 5.6 이상에서는 GMP 객체를 사용할 수 있으며, 숫자 문자열도 허용됩니다.
반환 값
gmp_cmp() 함수는 비교 결과에 따라 다음과 같은 정수 값을 반환합니다.
- 1 − 첫 번째 숫자가 더 클 경우
- -1 − 두 번째 숫자가 더 클 경우
- 0 − 두 숫자가 같을 경우
예제 1: 두 수가 같은 경우
다음은 두 GMP 숫자가 같을 때의 예제입니다.
<?php $n1 = "32"; $n2 = "32"; $cmpres = gmp_cmp($n1, $n2); echo $cmpres; ?>
출력 결과
0
두 숫자가 동일하므로 0이 반환되었습니다.
예제 2: 첫 번째 수가 더 작은 경우
이번에는 첫 번째 숫자가 더 작은 경우를 살펴보겠습니다.
<?php $n1 = "25"; $n2 = "30"; $cmpres = gmp_cmp($n1, $n2); echo $cmpres; ?>
출력 결과
-1
두 번째 숫자(30)가 첫 번째 숫자(25)보다 크므로 -1이 반환되었습니다. 이처럼 gmp_cmp() 함수를 활용하면 매우 큰 GMP 숫자 간의 대소 관계를 손쉽게 판별할 수 있습니다.