19'C 흐림
서울 강남구
php에서 난수 생성을 위한 함수에는 rand()와 mt_rand()가 있습니다. 두 함수 모두 정수값을 랜덤하게 생성하는 함수입니다.
이 두 함수는 윈도우 환경에서만 실행하는 경우에 최대값의 기준이 아래와 같이 달라집니다.
(반면, 리눅스 환경에서는 두 함수 모두 0 ~ 2,147,483,647 의 동일한 범위로 생성합니다.)
- rand() : 0 ~ 32,767 의 범위내에서 난수를 생성합니다.
- mt_rand() : 0 ~ 2,147,483,647 의 범위내에서 난수를 생성합니다.
그렇다면 어떻게 사용하는지 알아보겠습니다.
- 예제 -
<?php
echo rand() . '<br />';
echo mt_rand() . '<br />';
echo rand(0, 999) . '<br />';
echo mt_rand(0, 999) . '<br />';
?>
출력결과는 각각의 범위내에서 난수가 출력됩니다.
그런데 한가지 php.net에서는 mt_rand() 함수가 rand() 함수보다 4배 빠른 난수를 생성한다고 설명하고 있습니다. 그렇다면 리눅스 환경이거나 난수 생성 조건 범위가 크지 않을 경우에는 mt_rand() 함수를 사용하는 것이 퍼포먼스에 도움이 되겠네요.