>백엔드 개발 >PHP 문제 >PHP mt_rand()와 rand()의 차이점은 무엇입니까

PHP mt_rand()와 rand()의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2021-10-19 18:40:252897검색

차이: 1. 매개변수가 생략된 경우 rand()에 의해 생성된 난수는 0과 getrandmax() 사이이고, mt_rand()에 의해 생성된 난수는 0과 mt_getrandmax() 사이입니다. 2. mt_rand(); 성능은 rand()보다 좋습니다.

PHP mt_rand()와 rand()의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터

rand() 및 mt_rand()는 모두 임의의 정수를 생성하며 두 가지 사용 형태가 있습니다.

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

첫 번째 형식의 경우:

rand()에서 생성된 난수는 0과 getrandmax() 사이입니다.

mt_rand()에서 생성된 난수는 0과 mt_getrandmax() 사이입니다.

두 번째 형식의 경우:

rand()는 $min에서 $max까지 난수를 생성합니다.

mt_rand()는 $min에서 $max까지 난수를 생성합니다.

비교:

mt_rand()가 더 좋습니다. 난수 생성기가 더 좋기 때문입니다. rand()보다 더 나은 난수 시드를 뿌리고 성능은 rand()보다 4배 빠르며 mt_getrandmax()가 나타내는 값의 범위도 더 큽니다

PS: 난수 부동 소수점 숫자 생성

PHP 매뉴얼에 데모가 있습니다

function randomFloat($min = 0, $max = 1) {
    return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}

var_dump(randomFloat());
var_dump(randomFloat(2, 20));

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP mt_rand()와 rand()의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.