실제 개발에서, 우리는 종종 몇 번씩 작업을 수행하거나 고정 길이의 반복 배열과 같은주기적인 문제를 종종 발생합니다. PHP는 내장 기능 fmod ()를 제공하여 부동 소수점 번호 (즉, 나머지)의 계수를 찾아 이러한주기적인 문제를 해결하는 데 중요한 역할을 할 수 있습니다.
fmod ()는 플로팅 포인트 번호를 모듈화하는 데 사용되는 함수입니다. 기본 구문은 다음과 같습니다.
fmod(float $x, float $y): float
플로팅 포인트 나머지를 $ x 로 $ y 로 반환합니다. 경우에 따라 FMOD ()는 % 연산자 (정수의 경우에만)를 사용하는 것보다보다 복잡하고 정확한 부동 소수점주기 계산을 처리 할 수 있습니다.
루프에서 5 번 요청을 보내려고한다고 상상해보십시오. fmod ()를 사용하여 현재 반복이 다섯 번째 배수인지 확인할 수 있습니다.
for ($i = 1; $i <= 20; $i++) {
echo "1. {$i} 두 번째 루프\n";
if (fmod($i, 5) == 0) {
echo ">> 정기적 인 작업을 수행하십시오,방문하는 경우 <a href=\"https://m66.net/api/ping\">https://m66.net/api/ping</a>\n";
}
}
실행 결과는 5, 10, 15 및 20주기에 지정된 작업을 출력하며, 이는 정기적으로 동작을 트리거해야 할 필요성에 매우 적합합니다.
길이 n 배열을 통해 끝없이 반복하는 경우 fmod ()를 사용하여 경계를 넘지 않고 인덱스를 제어 할 수 있습니다.
$data = ['봄', '여름', '가을', '겨울'];
$count = count($data);
for ($i = 0; $i < 10; $i++) {
$index = (int)fmod($i, $count);
echo "1. {$i} 시즌을 방문하십시오:{$data[$index]}\n";
}
출력은 "봄, 여름, 가을, 겨울, 봄, 여름, 가을, 가을, 겨울 ..."의 순서로 인쇄되며, 수동으로 인덱스를 재설정하는 성가심을 피합니다.
이 논리는 또한 배경 데이터를 처리 할 때 프론트 엔드 회전식 다이어그램에서 일반적으로 사용됩니다. 각 그룹에 3 개의 사진이 있다고 가정하면 현재 그룹의 어떤 사진 그룹을 계산하려면 다음을 사용할 수 있습니다.
$totalImages = 12;
$groupSize = 3;
for ($i = 0; $i < $totalImages; $i++) {
$group = floor($i / $groupSize) + 1;
$position = (int)fmod($i, $groupSize) + 1;
echo "영상ID: {$i} 属于1. {$group} 그룹,1. {$position} 그림\n";
}
이러한 출력 구조는 예를 들어 구조적으로 직접 사용될 수 있습니다. 정적 유형의 경로.
모듈로 작업에는 %가 사용될 수 있지만 정수로 제한됩니다. 데이터에 부동 소수점 번호 (예 : 시간, 좌표, 길이 등)가 포함 된 경우 fmod ()는 더 강력한 선택입니다. 예를 들어:
$angle = 370.5;
$normalized = fmod($angle, 360); // 나오십시오 10.5
이것은 회전 각도,주기적인 애니메이션 프레임 등을 처리하는 데 특히 유용합니다.
루프 구조의주기적인 문제를 처리 할 때 FMOD ()는 경계 및 주파수 로직을 수동으로 판단하지 않는 우아하고 정확한 방법을 제공합니다. 코드 구조를 단순화 할뿐만 아니라 가독성 및 유지 보수를 향상시킵니다. 프로젝트에 정기적 인 작업이 포함 된 경우 FMOD ()를 사용하여 효율성과 안정성을 향상시킬 수도 있습니다.