PHP의 lcg_value() 함수는 0 이상 1 미만 범위의 의사 난수(pseudo random number)를 실수(float) 형태로 반환하는 내장 함수입니다. 이 함수는 결합 선형 합동 생성기(Combined Linear Congruential Generator) 알고리즘을 기반으로 동작하며, 별도의 시드(seed) 초기화 없이도 호출할 때마다 서로 다른 난수를 생성한다는 특징이 있습니다.
문법
lcg_value()
매개변수
lcg_value() 함수는 어떠한 매개변수도 받지 않습니다.
반환값
이 함수는 0에서 1 사이(0 ≤ 값 < 1)의 부동소수점(float) 타입 의사 난수를 반환합니다.
예제
다음은 lcg_value() 함수를 호출하여 난수를 출력하는 가장 기본적인 사용 예제입니다.
<?php echo lcg_value(); ?>
출력 결과
0.42510822828987
함수가 실행될 때마다 결과값이 달라지므로, 실행 환경에 따라 위와 같은 정확한 값 대신 다른 난수가 출력될 수 있습니다.
아래 예제는 lcg_value() 함수를 여러 번 호출했을 때 매번 서로 다른 값이 생성되는 것을 보여줍니다.
예제
<?php echo lcg_value(); echo "\n"; echo lcg_value(); echo "\n"; echo lcg_value(); echo "\n"; echo lcg_value(); echo "\n"; ?>
출력 결과
0.0016752472603958 0.95593815480995 0.57392418877843 0.1374706663408
실행할 때마다 네 개의 값이 모두 다르게 출력되는 것을 확인할 수 있습니다.
참고 사항
lcg_value()는 암호학적으로 안전한(cryptographically secure) 난수가 아니므로 보안 목적(예: 토큰 생성, 비밀번호 생성 등)에는 적합하지 않습니다. 보안이 중요한 경우에는 random_int() 또는 random_bytes() 함수를 사용하는 것이 권장됩니다.