>  기사  >  백엔드 개발  >  PHP에서 rand() 함수와 mt_rand() 함수의 차이점 비교

PHP에서 rand() 함수와 mt_rand() 함수의 차이점 비교

怪我咯
怪我咯원래의
2017-07-04 13:54:121473검색

mt_rand()는 rand()보다 4배 빠릅니다. 많은 오래된 libc 난수 생성기에는 불확실하고 알려지지 않은 특성이 있으며 매우 느립니다. PHP의 rand() function은 기본적으로 libc 난수 생성기를 사용합니다. 이를 대체하기 위해 mt_rand() 함수가 비공식적으로 사용됩니다.

PHP 함수 rand 및 mt_rand
 
mt_rand()는 rand()보다 4배 빠릅니다.
 
많은 오래된 libc 난수 생성기에는 불확실하고 알 수 없는 특성이 있으며 매우 느립니다. PHP의 rand() 함수는 기본적으로 libc 난수 생성기를 사용합니다. 이를 대체하기 위해 mt_rand() 함수가 비공식적으로 사용됩니다. 이 함수는 Mersenne Twister의 알려진 기능을 난수 생성기로 사용합니다. mt_rand()는 libc에서 제공하는 rand()보다 평균 4배 빠르게 난수 값을 생성할 수 있습니다.


mt_rand ()는 rand ()보다 4 배 더 빠르며 - MT_RAND - 더 나은 임의 숫자를 생성합니다 (PHP 3 & gt; = 3.0.6, php 4, php 5)

int mt_rand ([int min, int max ] )
 
  많은 오래된 libc 난수 생성기에는 불확실하고 알려지지 않은 특성이 있으며 매우 느립니다. PHP의 rand() 함수는 기본적으로 libc 난수 생성기를 사용합니다. 이를 대체하기 위해 mt_rand() 함수가 비공식적으로 사용됩니다. 이 함수는 Mersenne Twister의 알려진 속성을 난수 생성기로 사용하는데, 이는 libc에서 제공하는 rand()보다 평균 4배 빠르게 난수 값을 생성할 수 있습니다.
 
  선택적 매개변수 min 및 max가 제공되지 않으면 mt_rand()는
 
  0과 RAND_MAX 사이의 의사 난수를 반환합니다.
 
 예를 들어 5에서 15(포함) 사이의 임의의 숫자를 원하는 경우 mt_rand(5, 15)를 사용하세요.
 
 참고: PHP 4.2.0부터는 난수
generator
를 시드하기 위해 더 이상 srand() 또는 mt_srand() 함수를 사용할 필요가 없으며 이제
자동으로 완료됩니다.     rand — 임의의 정수 생성

    (PHP 3, PHP 4, PHP 5)  
  int rand ( [int min, int max] )
 
  선택적 매개변수 min 및 max가 제공되지 않은 경우 ( ) 0과 RAND_MAX 사이의 의사 난수 정수를 반환합니다. 예를 들어, 5에서 15(포함) 사이의 난수를 원하는 경우 rand(5, 15)를 사용하세요.
 
  참고: 일부 플랫폼(예: Windows)에서는 RAND_MAX가 32768에 불과합니다. 32768보다 큰 범위가 필요한 경우 min 및 max 매개변수를 지정하여 RAND_MAX보다 큰 숫자를 생성하거나 대신 mt_rand() 사용을 고려하세요.
 
 참고: PHP 4.2.0부터는 더 이상 srand() 또는 mt_srand() 함수를 사용하여 난수 생성기를 시드할 필요가 없으며 자동으로 수행됩니다.


mt_rand 정의 및 사용법

mt_rand()는 Mersenne Twister 알고리즘을 사용하여 임의의 정수를 반환합니다.
구문
mt_rand(min,max) 설명
선택적 매개변수 min 및 max가 제공되지 않으면 mt_rand()는 0과 RAND_MAX 사이의 의사 난수를 반환합니다. 예를 들어, 5에서 15(포함) 사이의 난수를 원하는 경우 mt_rand(5, 15)를 사용하세요.

많은 오래된 libc 난수 생성기에는 불확실하고 알 수 없는 특성이 있으며 매우 느립니다. PHP의 rand() 함수는 기본적으로 libc 난수 생성기를 사용합니다. 이를 대체하기 위해 mt_rand() 함수가 비공식적으로 사용됩니다. 이 함수는 Mersenne Twister의 알려진 기능을 난수 생성기로 사용하는데, 이는 libc에서 제공하는 rand()보다 평균 4배 빠르게 난수 값을 생성할 수 있습니다.
팁 및
Notes

참고: PHP 4.2.0부터는 더 이상 srand() 또는 mt_srand() 함수를 사용하여 난수 생성기를 시드할 필요가 없으며 이제 자동으로 수행됩니다. 참고: 3.0.7 이전 버전에서는 최대가 범위를 의미합니다. 이러한 버전의 위 예에서와 같이 5에서 15까지 동일한 난수를 얻으려면 짧은 예는 mt_rand (5, 11)입니다.

이 예에서는 임의의 숫자를 반환합니다.


코드는 다음과 같습니다.

<?php 
echo(mt_rand()); 
echo(mt_rand()); 
echo(mt_rand(10,100)); 
?>

출력은 유사합니다.

3150906288

513289678
35

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

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