random_int

(PHP 7, PHP 8)

random_int — 암호학적으로 안전한 의사 난수 정수 생성


설명

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

포커 게임을 위해 카드 덱을 섞을 때와 같이 편향되지 않은 결과가 중요한 곳에 사용하기에 적합한 암호화된 임의의 정수를 생성합니다.

이 함수에 사용된 임의성의 소스는 다음과 같습니다.

  • Windows에서는 » CryptGenRandom()이 항상 사용됩니다. PHP 7.2.0부터 » CNG-API가 항상 대신 사용됩니다.
  • Linux에서는 가능한 경우 » getrandom(2) syscall이 사용됩니다.
  • 다른 플랫폼에서는 /dev/urandom이 사용됩니다.
  • 앞서 언급한 소스를 사용할 수 없으면 예외가 발생합니다.

참고: 이 함수는 PHP 7.0에서 PHP에 추가되었지만 » 사용자 영역 구현은 PHP 5.2~5.6(포함)에서 사용할 수 있습니다.


매개변수

min
반환될 가장 낮은 값으로 PHP_INT_MIN 이상이어야 합니다.
max
반환될 가장 높은 값은 PHP_INT_MAX보다 작거나 같아야 합니다.

반환 값

min에서 max까지의 범위에서 암호학적으로 안전한 임의의 정수를 반환합니다.


오류/예외

  • 임의성의 적절한 소스를 찾을 수 없으면 예외가 발생합니다.
  • 잘못된 매개변수가 제공되면 TypeError가 발생합니다.
  • maxmin보다 작으면 오류가 발생합니다.

Examples

예제 #1 random_int() 예제

                  
<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>
                  
                

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

int(248)
int(-898)
                

기타

  • random_bytes() - 암호학적으로 안전한 의사 난수 바이트 생성