Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP rand() 함수 완벽 가이드 – 난수 생성 방법과 활용 예제

PHP의 rand() 함수는 난수(random number)를 생성하는 대표적인 내장 함수입니다. 인자 없이 호출하면 임의의 정수를 반환하고, 최솟값과 최댓값을 전달하면 해당 범위 안에서만 난수를 얻을 수 있습니다.

문법(Syntax)

rand();
또는
rand(min_range, max_range);

매개변수(Parameters)

  • min_range – 반환될 수 있는 가장 작은 값으로, 기본값은 0입니다.

  • max_range – 반환될 수 있는 가장 큰 값입니다.

반환값(Return)

rand() 함수는 min_range와 max_range 사이(양쪽 값 포함)의 임의의 정수를 반환합니다. 매개변수를 생략하면 0부터 getrandmax()가 반환하는 최댓값 사이의 정수를 반환합니다.

예제 1 – 기본 사용법

<?php
    echo(rand() . "<br>");
    echo(rand() . "<br>");
    echo(rand() . "<br>");
    echo(rand() . "<br>");
    echo(rand() . "<br>");
    echo(rand());
?>

출력 결과

1581227270<br>1094001227<br>306337052<br>151211887<br>7894804<br>115835633

난수이기 때문에 실행할 때마다 결과는 달라지며, 위 숫자는 어디까지나 예시입니다.

예제 2 – 범위를 지정한 난수 생성

이번에는 원하는 범위를 직접 지정해 난수를 만들어 보겠습니다.

<?php
    echo(rand(2, 5) . "<br>");
    echo(rand(90, 190));
?>

출력 결과

4<br>114

첫 번째 호출은 2~5 사이의 정수를, 두 번째 호출은 90~190 사이의 정수를 반환합니다. 역시 실행할 때마다 다른 값이 출력됩니다.

참고 사항

rand() 함수는 암호학적으로 안전한(cryptographically secure) 난수를 생성하지 않습니다. 인증 토큰, 비밀번호 생성 등 보안이 중요한 용도에는 PHP 7 이상에서 제공되는 random_int() 또는 random_bytes() 함수를 사용하는 것이 좋습니다.