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

PHP에서 0~9 사이의 난수를 생성하는 방법

PHP에서 난수(random number)를 생성하려면 rand() 함수를 사용하면 됩니다. 이번 글에서는 문자열 형태로 저장된 숫자 값 중에서 무작위로 하나를 선택해 출력하는 방법을 예제와 함께 살펴보겠습니다.

입력 값 준비하기

먼저 다음과 같이 0부터 9까지의 숫자를 하나의 문자열로 저장합니다.

$storedValue = '0123456789';

이제 위 문자열에 포함된 값들 중에서 무작위로 하나를 골라 화면에 출력하는 것이 목표입니다.

rand() 함수로 난수 생성하기

rand() 함수는 지정한 범위 내에서 임의의 정수를 반환합니다. 여기서는 strlen() 함수로 문자열의 전체 길이를 구한 뒤, 인덱스 범위(0 ~ 길이-1) 안에서 난수를 발생시켜 해당 위치의 문자를 선택하는 방식을 사용합니다.

예제 코드

<!DOCTYPE html>
<html>
<body>
<?php
    $storedValue = '0123456789';
    $aRandomValue = $storedValue[rand(0, strlen($storedValue) - 1)];
    echo "The random value = ", $aRandomValue;
?>
</body>
</html>

코드 설명

  • $storedValue: 0~9까지의 숫자가 담긴 문자열입니다.
  • strlen($storedValue) - 1: 문자열 길이는 10이므로, 유효한 인덱스 범위인 0~9를 계산합니다.
  • rand(0, strlen($storedValue) - 1): 0부터 9 사이의 임의의 정수를 생성합니다.
  • $aRandomValue: 생성된 인덱스에 해당하는 문자, 즉 무작위 숫자 하나가 저장됩니다.

실행 결과

위 코드를 실행하면 매번 다음과 같은 형태의 결과가 출력됩니다. 실행할 때마다 값은 달라질 수 있습니다.

The random value = 3

참고: random_int() 사용하기

보안이 중요한 상황이라면 암호학적으로 안전한 random_int() 함수를 사용하는 것이 좋습니다. 사용법은 rand()와 거의 동일합니다.

<?php
$aRandomValue = $storedValue[random_int(0, strlen($storedValue) - 1)];
echo "The random value = ", $aRandomValue;
?>

이처럼 PHP에서는 간단한 코드 몇 줄만으로 0~9 사이의 난수를 손쉽게 생성하고 활용할 수 있습니다.