>백엔드 개발 >PHP 튜토리얼 >특정 범위 내에서 고유한 난수를 효율적으로 생성하는 방법은 무엇입니까?

특정 범위 내에서 고유한 난수를 효율적으로 생성하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-05 04:55:10245검색

How to Efficiently Generate Unique Random Numbers Within a Specific Range?

범위 내에서 고유한 난수 생성

질문: 지정된 범위 내에서 고유한 난수를 효율적으로 생성하려면 어떻게 해야 합니까? 범위?

답변:

제공된 코드는 범위 내에서 난수를 생성하지만 고유성을 보장하지 않을 수 있습니다. 최적화된 솔루션을 위해 다음 접근 방식을 고려하세요.

1. 무작위 순서의 배열:

  • 범위(범위(최소, 최대)) 내에서 숫자 배열을 생성합니다.
  • shuffle()을 사용하여 배열을 섞습니다.
  • 이렇게 하면 임의의 숫자 순서가 생성되며, 이를 원하는 수량으로 잘라서 고유한 항목을 만들 수 있습니다. 결과.

2. 래핑된 함수:

  • 배열 섞기 기술을 함수로 캡슐화:
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
  • 예 사용법:
print_r(UniqueRandomNumbersWithinRange(0, 25, 5));

결과:

주어진 범위 내에서 고유한 난수를 포함하는 지정된 수량의 배열.

위 내용은 특정 범위 내에서 고유한 난수를 효율적으로 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.