>백엔드 개발 >PHP 문제 >PHP에서 반복되지 않는 숫자의 무작위 배열을 만드는 방법

PHP에서 반복되지 않는 숫자의 무작위 배열을 만드는 방법

PHPz
PHPz원래의
2023-04-18 14:10:43810검색

PHP는 널리 사용되는 서버 측 스크립팅 언어로, 웹 애플리케이션을 개발할 때 널리 사용됩니다. 일반적인 작업은 반복되지 않는 숫자의 무작위 배열을 만드는 것입니다. 이 기사에서는 PHP를 사용하여 이러한 배열을 만드는 방법을 보여줍니다.

이전에 rand(), array_push(), in_array() 세 가지 함수를 알아야 합니다. rand() 함수는 의사 난수를 생성하는 데 사용되고, array_push() 함수는 배열 끝에 요소를 추가하는 데 사용되며, in_array() 함수는 해당 요소가 배열에 이미 존재하는지 확인하는 데 사용됩니다.

다음은 반복되지 않는 임의의 숫자 배열을 만드는 두 가지 방법입니다.

방법 1: while 루프와 in_array() 함수를 사용합니다.

먼저, 생성된 숫자를 저장할 빈 배열을 만듭니다. 그런 다음 while 루프를 사용하여 숫자를 생성하고 각 숫자를 배열에 추가합니다. 그러나 배열에 숫자를 추가하기 전에 in_array() 함수를 사용하여 해당 숫자가 배열에 이미 존재하는지 확인하십시오. 번호가 이미 존재하는 경우 루프는 새 번호를 찾을 때까지 계속해서 새 번호를 생성합니다.

다음은 while 루프와 in_array() 함수를 사용하여 반복되지 않는 임의의 숫자 배열을 만드는 예제 코드입니다.

$numbers = array();
while (count($numbers) < 10) {
  $rand = rand(1, 20);
  if (!in_array($rand, $numbers)) {
    array_push($numbers, $rand);
  }
}
print_r($numbers);

이 예제에서는 10개의 요소로 구성된 배열을 만듭니다. 각 루프에서 rand() 함수를 사용하여 1-20 사이의 의사 난수를 생성하고 in_array() 함수를 사용하여 해당 숫자가 배열에 이미 존재하는지 확인합니다. 그렇지 않은 경우 array_push() 함수를 사용하여 배열 끝에 숫자를 추가합니다. 배열의 길이가 10에 도달하면 루프가 종료되고 배열의 내용이 인쇄됩니다.

방법 2: for 루프와 shuffle() 함수 사용

두 번째 방법은 for 루프를 사용하여 일련의 숫자를 생성하고 shuffle() 함수를 사용하여 숫자를 섞는 것입니다. 이 예에서는 range() 함수를 사용하여 일련의 숫자가 포함된 배열을 생성한 다음 shuffle() 함수를 사용하여 배열의 요소를 섞습니다. 이 방법은 초기 배열에 중복된 숫자가 없기 때문에 in_array() 함수를 사용할 필요가 없습니다.

다음은 for 루프와 shuffle() 함수를 사용하여 반복되지 않는 임의의 숫자 배열을 생성하는 예제 코드입니다.

$numbers = range(1, 20);
shuffle($numbers);
$numbers = array_slice($numbers, 0, 10);
print_r($numbers);

이 예제에서는 range() 함수를 사용하여 숫자 배열을 생성합니다. 1-20 사이. 그런 다음 shuffle() 함수를 사용하여 배열의 요소를 섞습니다. 마지막으로 array_slice() 함수를 사용하여 반복되지 않는 임의의 숫자 배열로 배열의 처음 10개 요소를 선택하고 배열의 내용을 인쇄합니다.

요약

이 문서에서는 PHP를 사용하여 반복되지 않는 임의의 숫자 배열을 만드는 두 가지 방법을 보여줍니다. 첫 번째 방법은 while 루프에서 in_array() 함수를 사용하여 해당 숫자가 배열에 이미 존재하는지 확인하고 중복되지 않은 숫자를 배열에 추가합니다. 두 번째 방법은 for 루프를 사용하여 일련의 숫자를 생성한 다음 shuffle() 함수를 사용하여 숫자의 순서를 바꾸고 배열의 처음 10개 요소를 반복되지 않는 숫자의 무작위 배열로 선택합니다. 두 방법 모두 고유 번호를 무작위로 생성하는 목적을 달성할 수 있으며, 어떤 방법을 사용할지는 개인 취향과 애플리케이션 요구 사항에 따라 다릅니다.

위 내용은 PHP에서 반복되지 않는 숫자의 무작위 배열을 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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