PHP에서 중복이 없는 랜덤 숫자 배열을 만들고 싶다면 range() 함수와 shuffle() 함수를 함께 사용하면 됩니다.
먼저 range()를 사용해 원하는 범위의 연속된 숫자 배열을 생성한 뒤, shuffle()로 배열 요소의 순서를 무작위로 섞습니다. 마지막으로 필요한 개수만큼 array_slice()로 잘라내면 중복 없는 랜덤 숫자 배열을 손쉽게 얻을 수 있습니다.
예제 코드
다음은 10부터 20까지의 숫자 중에서 중복 없이 5개의 랜덤 숫자를 추출하는 PHP 코드입니다.
<!DOCTYPE html> <html> <body> <?php $limit_random_array_values = range(10, 20); shuffle($limit_random_array_values); $all_five_random_array_value = array_slice($limit_random_array_values ,0,5); print_r($all_five_random_array_value); ?> </body> </html>
실행 결과
위 코드를 실행하면 매번 다른 결과가 출력되며, 그 형태는 다음과 같습니다.
Array ( [0] => 11 [1] => 14 [2] => 15 [3] => 12 [4] => 18 )
코드 설명
- range(10, 20): 10부터 20까지의 정수로 이루어진 배열을 생성합니다.
- shuffle(): 배열의 요소 순서를 무작위로 섞어줍니다.
- array_slice($array, 0, 5): 섞인 배열에서 앞에서 5개의 요소만 추출합니다.
이 방식은 범위 내의 모든 값이 서로 다르기 때문에 별도의 중복 검사 없이도 항상 고유한 숫자들만 포함된 배열을 보장합니다. 로또 번호 생성기나 무작위 샘플링 등에 유용하게 활용할 수 있습니다.