현재 위치: > 최신 기사 목록> 루프 구조에서 fmod () 함수를 사용하여 주기적 문제를 효율적으로 계산하는 방법은 무엇입니까?

루프 구조에서 fmod () 함수를 사용하여 주기적 문제를 효율적으로 계산하는 방법은 무엇입니까?

M66 2025-06-22

실제 개발에서, 우리는 종종 몇 번씩 작업을 수행하거나 고정 길이의 반복 배열과 같은주기적인 문제를 종종 발생합니다. PHP는 내장 기능 fmod ()를 제공하여 부동 소수점 번호 (즉, 나머지)의 계수를 찾아 이러한주기적인 문제를 해결하는 데 중요한 역할을 할 수 있습니다.

1. fmod () 함수 소개

fmod ()는 플로팅 포인트 번호를 모듈화하는 데 사용되는 함수입니다. 기본 구문은 다음과 같습니다.

 fmod(float $x, float $y): float

플로팅 포인트 나머지를 $ x$ y 로 반환합니다. 경우에 따라 FMOD ()는 % 연산자 (정수의 경우에만)를 사용하는 것보다보다 복잡하고 정확한 부동 소수점주기 계산을 처리 할 수 ​​있습니다.

2. 응용 프로그램 시나리오의 예

시나리오 1 : 매번 작업을 수행합니다

루프에서 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주기에 지정된 작업을 출력하며, 이는 정기적으로 동작을 트리거해야 할 필요성에 매우 적합합니다.

시나리오 2 : 루핑 배열 인덱스를 방지하기위한 배열 인덱스

길이 n 배열을 통해 끝없이 반복하는 경우 fmod ()를 사용하여 경계를 넘지 않고 인덱스를 제어 할 수 있습니다.

 $data = ['봄', '여름', '가을', '겨울'];
$count = count($data);

for ($i = 0; $i < 10; $i++) {
    $index = (int)fmod($i, $count);
    echo "1. {$i} 시즌을 방문하십시오:{$data[$index]}\n";
}

출력은 "봄, 여름, 가을, 겨울, 봄, 여름, 가을, 가을, 겨울 ..."의 순서로 인쇄되며, 수동으로 인덱스를 재설정하는 성가심을 피합니다.

장면 3 : 회전 이미지 인덱스 또는 회전식 이미지 ID

이 논리는 또한 배경 데이터를 처리 할 때 프론트 엔드 회전식 다이어그램에서 일반적으로 사용됩니다. 각 그룹에 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";
}

이러한 출력 구조는 예를 들어 구조적으로 직접 사용될 수 있습니다. 정적 유형의 경로.

3. % 연산자와의 차이

모듈로 작업에는 %가 사용될 수 있지만 정수로 제한됩니다. 데이터에 부동 소수점 번호 (예 : 시간, 좌표, 길이 등)가 포함 된 경우 fmod ()는 더 강력한 선택입니다. 예를 들어:

 $angle = 370.5;
$normalized = fmod($angle, 360);  // 나오십시오 10.5

이것은 회전 각도,주기적인 애니메이션 프레임 등을 처리하는 데 특히 유용합니다.

결론

루프 구조의주기적인 문제를 처리 할 때 FMOD ()는 경계 및 주파수 로직을 수동으로 판단하지 않는 우아하고 정확한 방법을 제공합니다. 코드 구조를 단순화 할뿐만 아니라 가독성 및 유지 보수를 향상시킵니다. 프로젝트에 정기적 인 작업이 포함 된 경우 FMOD ()를 사용하여 효율성과 안정성을 향상시킬 수도 있습니다.