현재 위치: > 최신 기사 목록> CEIL () + MT_RAND ()를 사용하여 임의의 정수를 구현하십시오.

CEIL () + MT_RAND ()를 사용하여 임의의 정수를 구현하십시오.

M66 2025-06-02

매일 개발에서 PHP의 Ceil ()MT_Rand () 는 일반적으로 사용되는 두 가지 기능입니다. 전자는 위쪽으로 반올림하는 데 사용되며 후자는 의사 무작위 정수를 생성하는 데 사용됩니다. 임의의 정수를 생성하고 특정 다중 또는 간격 범위로 반올림하려면이 두 기능을 함께 사용하여보다 세련된 수치 제어를 달성 할 수 있습니다.

1. 기본 소개

CEIL ()

Ceil () 은 소수성을 가장 가까운 정수까지 반올림하는 수학적 함수입니다. 예를 들어:

 echo ceil(4.3); // 산출 5
echo ceil(9.999); // 산출 10

소수점 이후에 아무리 작더라도 정수가 아닌 한 둥글게됩니다.

mt_rand ()

mt_rand () ()는 의사 랜덤 정수를 생성하는 데 사용되며 성능과 임의성은 rand () 보다 낫습니다. 사용법은 다음과 같습니다.

 echo mt_rand(1, 100); // 산출 1 도착하다 100 사이의 정수

2. 조합 사용 시나리오

1. 지정된 최소 단위로 반올림합니다

때때로 우리는 임의의 숫자를 매번 매번 10의 배수로 반올림하기 위해 임의의 숫자를 지정된 배수까지 반올림해야합니다. 이것은 다음과 같이 달성 할 수 있습니다.

 $random = mt_rand(1, 95); // 생성하다 1 도착하다 95 임의의 숫자
$step = 10;
$rounded = ceil($random / $step) * $step;

echo "원래 무작위 번호: $random\n";
echo "向上取整도착하다 $step 배수: $rounded\n";

이 방법은 페이징 수량, 제품 포장 수량 또는 가격 사다리를 설정하는 데 매우 적합합니다.

2. 범위를 제한 한 후 상향 반올림

무작위 숫자를 30에서 100까지, 가장 가까운 여러 배로 100을 초과하지 말고 100을 초과하지 않으려면 MT_RAND () , CEIL ()MIN ()을 조합하여 사용해야합니다.

 $min = 30;
$max = 100;
$step = 10;

$random = mt_rand($min, $max);
$rounded = ceil($random / $step) * $step;
$final = min($rounded, $max); // 최대 값이 초과되는 것을 방지하십시오

echo "랜덤 번호: $random\n";
echo "최종 결과(더 이상 $max): $final\n";

3. 적용 예 : 모의 복권 포인트 소비 메커니즘

복권 시스템에서 각 복권이 15 ~ 60 포인트의 임의 소비가 필요하지만 5의 배수로 계산해야하며 사용자의 현재 포인트 균형을 초과 할 수는 없습니다. 다음은 시뮬레이션 구현입니다.

 $user_balance = 47; // 사용자 현재 포인트
$min_cost = 15;
$max_cost = 60;
$step = 5;

$random_cost = mt_rand($min_cost, $max_cost);
$rounded_cost = ceil($random_cost / $step) * $step;
$final_cost = min($rounded_cost, $user_balance);

echo "사용자 포인트: $user_balance\n";
echo "무작위 비용: $random_cost\n";
echo "최종 공제: $final_cost\n";

4. 프로젝트의 실제 응용

이 조합은 종종 게임, 복권, 광고 디스플레이 제어 또는 자원 할당과 같은 비즈니스 논리로 나타납니다. 예를 들어, 광고 플랫폼은 클릭 스루 속도에 따라 특정 광고 항목 및 가중 제어를 무작위로 표시 할 수 있으며, 클릭 제한 속도를 계산하려면 값 문제를 피하기 위해 Ceil () 도 필요합니다. 예를 들어:

 $click_rate = mt_rand(1, 100) / 100; // 随机생성하다 0.01 도착하다 1.00 클릭 속도
$weight = ceil($click_rate * 10); // 축소하고 무게로 반올림하십시오

echo "클릭 속도: $click_rate\n";
echo "디스플레이 중량: $weight\n";

이 논리는 https://m66.net/api/track.php 와 같은 데이터 매장 또는 행동 로그 시스템에서 일반적입니다.

5. 요약

PHP의 CEIL ()MT_RAND () 함수는 다양한 상향 반올림 및 임의 번호 제어 시나리오를 효과적으로 구현할 수 있습니다. 이 조합 사고를 마스터하면 실제 프로젝트 개발에서 수치 처리의 정확성과 유연성을 향상시킬 수 있습니다. 특히 게임 논리, 재무 계산 및 사용자 행동 분석과 같은 다양한 비즈니스 환경에 적합합니다.