PHP의 fmod() 함수는 피제수(dividend)를 제수(divisor)로 나눈 나머지(모듈로)를 반환하는 함수입니다. 특히 정수뿐만 아니라 부동소수점(float) 값에 대해서도 나머지를 계산할 수 있다는 점이 일반적인 나머지 연산자(%)와의 큰 차이점입니다.
문법(Syntax)
fmod(dividend, divisor)
매개변수(Parameters)
dividend (피제수) − 나누어질 숫자입니다.
divisor (제수) − 피제수를 나누는 숫자입니다.
반환값(Return)
fmod() 함수는 피제수 ÷ 제수 연산의 나머지를 부동소수점 형태로 반환합니다. 결과의 부호는 피제수의 부호를 따릅니다.
사용 예제
<?php
$p = 30;
$q = 9;
$remainder = fmod($p, $q);
echo $remainder;
?>
실행 결과(Output)
3
위 예제에서 30을 9로 나누면 몫은 3이고 나머지는 3이므로, fmod() 함수는 3을 반환합니다.
나머지 연산자(%)와의 차이점
PHP의 % 연산자는 정수형 피연산자만 지원하며, 소수점 이하를 버린 뒤 계산합니다. 반면 fmod() 함수는 다음과 같이 실수 연산에서도 정확한 결과를 제공합니다.
<?php
echo fmod(10.5, 3); // 출력: 1.5
echo 10.5 % 3; // 출력: 1 (정수 변환 후 계산)
?>
따라서 소수가 포함된 나머지 계산이 필요하다면 fmod() 함수를 사용하는 것이 올바른 선택입니다.