PHP의 srand() 함수란?
srand() 함수는 PHP에서 난수 생성기(random number generator)의 시드(seed) 값을 초기화하는 역할을 합니다. srand()는 사실상 mt_srand() 함수의 별칭(alias)으로, 두 함수는 완전히 동일하게 동작합니다.
참고: PHP 4.2.0부터는 난수 생성기가 자동으로 시드되기 때문에 이 함수를 직접 호출할 필요가 없습니다. 따라서 최신 PHP 버전에서는 대부분의 경우 srand()를 사용하지 않아도 됩니다.
문법(Syntax)
srand(seed)
매개변수(Parameters)
seed − 난수 생성기를 초기화할 시드 값입니다. 같은 시드 값을 사용하면 항상 동일한 순서의 난수가 생성되므로, 테스트나 재현 가능한 결과가 필요한 경우에 유용합니다.
반환값(Return)
srand() 함수는 별도의 값을 반환하지 않습니다.
예제 1
현재 시간을 기반으로 시드를 설정한 후 난수를 생성하는 예제입니다.
<?php
srand(mktime());
echo(mt_rand());
?>
출력
664617053
예제 2
이번에는 고정된 시드 값을 사용해 1부터 5 사이의 난수를 생성하는 예제를 살펴보겠습니다.
<?php
srand(2);
echo(rand(1, 5));
?>
출력
4
정리
srand() 함수는 난수 생성기의 시작점을 지정하는 함수로, 과거에는 rand(), mt_rand() 등의 난수 함수 실행 전에 시드를 설정하는 용도로 널리 사용되었습니다. 다만 PHP 4.2.0 이후에는 시드가 자동으로 처리되므로, 특별한 이유(재현 가능한 난수 시퀀스 생성 등)가 없다면 굳이 호출할 필요가 없습니다.