Math mt_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_rand — Mersenne Twister 난수 생성기를 통해 난수 생성


설명

mt_rand(): int

mt_rand(int $min, int $max): int

주의 이 함수는 암호화된 보안 값을 생성하지 않으며 암호화 목적으로 사용해서는 안 됩니다. 암호학적으로 안전한 값이 필요한 경우 random_int(), random_bytes() 또는 openssl_random_pseudo_bytes()를 대신 사용하는 것이 좋습니다.

이전 libcs의 많은 난수 생성기는 모호하거나 알 수 없는 특성을 가지며 느립니다. mt_rand() 함수는 이전 rand()에 대한 드롭인 대체입니다. » Mersenne Twister를 사용하여 알려진 특성을 가진 난수 생성기를 사용합니다. 이 생성기는 평균 libc rand()가 제공하는 것보다 4배 더 빠르게 난수를 생성합니다.

선택적 min 없이 호출되면 max 인수 mt_rand()는 0과 mt_getrandmax() 사이의 의사 난수 값을 반환합니다. 예를 들어 5에서 15(포함) 사이의 난수를 원하면 mt_rand(5, 15)를 사용하십시오.


매개변수

min
반환할 선택적인 가장 낮은 값(기본값: 0)
max
반환될 선택적인 가장 높은 값(기본값: mt_getrandmax())

반환 값

min(또는 0)과 max(또는 mt_getrandmax(), 포함) 사이의 임의의 정수 값 또는 maxmin보다 작은 경우 false입니다.


변경 로그

버전 설명
7.2.0 mt_rand()는 모듈로 편향 버그에 대한 버그 수정을 받았습니다. 이는 특정 시드로 생성된 시퀀스가 ​​64비트 시스템의 PHP 7.1과 다를 수 있음을 의미합니다.
7.1.0 rand()mt_rand()의 별칭이 되었습니다.
7.1.0 mt_rand()는 Mersenne Twister 알고리즘의 수정된 올바른 버전을 사용하도록 업데이트되었습니다. 이전 동작으로 돌아가려면 두 번째 매개변수로 MT_RAND_PHP와 함께 mt_srand()를 사용하십시오.

Examples

예제 #1 mt_rand() 예제

                  
<?php
echo mt_rand() . "\n";
echo mt_rand() . "\n";

echo mt_rand(5, 15);
?>
                  
                

위의 예는 다음과 유사한 결과를 출력합니다.

1604716014
1478613278
6
                

메모

경고 min max 범위는 mt_getrandmax() 범위 내에 있어야 합니다. 즉, (max - min) <= mt_getrandmax() 그렇지 않으면 mt_rand()가 예상보다 낮은 난수를 반환할 수 있습니다.


기타