최소값과 최대 값을 기준으로 난수를 생성하는 방법이 있습니까?
예를 들어, min이 1이고 max 20이라면 1과 20을 포함하여 1과 20 사이의 숫자를 생성해야합니까?
최소값과 최대 값을 기준으로 난수를 생성하는 방법이 있습니까?
예를 들어, min이 1이고 max 20이라면 1과 20을 포함하여 1과 20 사이의 숫자를 생성해야합니까?
random_int()에서는 random_bytes(), 또는 openssl_random_pseudo_bytes() . @Salvador Dali가 말했듯 rand()이 암호 학적으로 안전한 결과를 생성하지 마십시오. 참조 문서 php.net/manual/en/function.rand.php
답변:
<?php
$min=1;
$max=20;
echo rand($min,$max);
?>
새로운 PHP7 에서는 마지막으로 암호 학적으로 안전한 의사 난수 정수를 지원합니다.
int random_int ( int $min , int $max )
random_int — 암호 학적으로 안전한 의사 난수 정수를 생성합니다.
기본적으로 이전 답변을 쓸모 없게 만듭니다.
random_int와 random_bytes- 기능 github.com/paragonie/random_compat을 .
random_int 있습니까? "더 나은"난수를 제공하는 경우 암호가 아닌 이유로 사용하지 않는 이유는 무엇입니까?
random_ints를 rands로 변경하지 않을만큼 중요하지 않습니다 . 또한, 내 유스 케이스는 재시도 알고리즘은, 나는 확실히 여러 실패한 기능 때문에 예측 가능한 임의의 int의 수면 후 응집하지 않으
빠른 빠른 버전 사용에는, mt_rand 것입니다 :
$min=1;
$max=20;
echo mt_rand($min,$max);
출처 : http://www.php.net/manual/en/function.mt-rand.php .
참고 : 이 작업을 수행하려면 서버에 Math PHP 모듈이 활성화되어 있어야합니다. 그렇지 않은 경우 호스트를 버그로 사용하여 활성화하거나 일반 (그리고 더 느린) rand ()를 사용해야합니다.
rand(1,20)
PHP의 rand 함수용 문서는 다음과 같습니다.
http://php.net/manual/en/function.rand.php
사용 srand()난수 생성기의 시드 값을 설정하는 기능.
이걸로 해봐. 귀하의 희망에 따라 ID를 생성합니다.
function id()
{
// add limit
$id_length = 20;
// add any character / digit
$alfa = "abcdefghijklmnopqrstuvwxyz1234567890";
$token = "";
for($i = 1; $i < $id_length; $i ++) {
// generate randomly within given character/digits
@$token .= $alfa[rand(1, strlen($alfa))];
}
return $token;
}