PHP의 mt_srand() 함수는 메르센 트위스터(Mersenne Twister) 알고리즘 기반 난수 생성기에 시드(seed) 값을 설정하는 함수입니다. 이 함수를 호출하면 이후 mt_rand() 함수가 동일한 시드를 기반으로 난수를 생성하게 됩니다.
참고 − PHP 4.2.0 버전부터는 난수 생성기가 실행 시점에 자동으로 시드 처리되므로, 최신 PHP 환경에서는 이 함수를 직접 호출할 필요가 없습니다. 또한 보안이 중요한 애플리케이션에서는 random_int()나 random_bytes() 같은 암호학적으로 안전한 함수를 사용하는 것이 권장됩니다.
문법
mt_srand(seed)
매개변수
seed − 난수 생성의 시작점이 되는 정수형 시드 값입니다. 생략할 경우 무작위 값으로 자동 초기화됩니다.
반환값
mt_srand() 함수는 별도의 값을 반환하지 않습니다(void).
예제
<?php
mt_srand(mktime());
echo(mt_rand());
?>
위 예제에서 mktime()은 현재 타임스탬프를 반환하며, 이를 시드로 사용해 난수를 생성합니다.
출력 결과
1320295657
시드 값이 고정되면 항상 동일한 난수 시퀀스가 생성된다는 점을 기억하세요. 이러한 특성 덕분에 재현 가능한(reproducible) 난수 시퀀스가 필요한 테스트나 시뮬레이션 환경에서 유용하게 활용할 수 있습니다.