>  기사  >  백엔드 개발  >  PHP 배열에서 여러 요소를 무작위로 추출하는 방법(세 가지 방법)

PHP 배열에서 여러 요소를 무작위로 추출하는 방법(세 가지 방법)

PHPz
PHPz원래의
2023-04-12 09:18:572639검색

PHP 개발에서는 배열에서 여러 요소를 무작위로 추출해야 하는 경우가 많습니다. 때로는 사용자 목록에서 행운의 사용자 몇 명을 무작위로 선택하여 선물을 제공해야 하는 경우도 있습니다. 또는 메뉴 배열에서 추천 요리로 여러 요리를 무작위로 선택해야 합니다. 이 기사에서는 PHP의 배열에서 여러 요소를 무작위로 추출하는 방법을 소개합니다.

방법 1: shuffle 및 array_slice 함수 사용

shuffle 함수는 배열의 요소를 섞고 배열의 각 요소를 무작위로 재정렬할 수 있습니다. 그런 다음 array_slice 함수를 사용하여 배열에서 특정 개수의 요소를 추출합니다. 이 방법은 간단하고 이해하기 쉬우며 작은 배열에 적합합니다.

코드는 다음과 같습니다:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
shuffle($array);
$rand_keys = array_rand($array, 3);
$result = array_slice($array, $rand_keys[0], 3);
print_r($result);
?>

분석:

  1. 6개 요소를 포함하는 $array 배열을 정의합니다.
  2. 셔플 기능을 사용하여 배열 요소를 무작위로 정렬하세요.
  3. array_rand 함수를 사용하여 스크램블된 배열에서 3개 요소의 인덱스 위치를 무작위로 검색합니다.
  4. array_slice 함수를 사용하여 배열에서 무작위 요소 3개를 가져옵니다.
  5. 마지막으로 결과를 인쇄합니다.

방법 2: array_rand 함수 사용

array_rand 함수는 배열에서 하나 이상의 임의 요소에 대한 인덱스를 직접 반환할 수 있습니다. 이 방법은 대규모 배열에 적합합니다.

코드는 다음과 같습니다:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$rand_keys = array_rand($array, 3);
$result = array();
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

분석:

  1. 6개 요소를 포함하는 $array 배열을 정의합니다.
  2. array_rand 함수를 사용하여 배열에서 무작위 요소 3개의 인덱스 위치를 검색하세요.
  3. foreach 루프를 사용하여 무작위로 가져온 요소를 결과 배열에 추가합니다.
  4. 마지막으로 결과를 인쇄합니다.

방법 3: mt_rand 함수 사용

mt_rand 함수는 지정된 범위 내에서 임의의 정수를 반환할 수 있으므로 임의의 배열 키를 생성하는 데 사용할 수 있습니다. 이 방법은 상대적으로 비효율적이며 작은 배열에 적합합니다.

코드는 다음과 같습니다:

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$keys = array_keys($array);
$total = count($keys);
$pick_num = 3;
$rand_keys = array();
$result = array();
while (count($rand_keys) < $pick_num) {
    $rand_keys[] = $keys[mt_rand(0, $total-1)];
}
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

분석:

  1. 6개 요소를 포함하는 $array 배열을 정의합니다.
  2. array_keys 함수를 사용하여 키 모음인 $key 배열을 가져옵니다.
  3. $total 배열의 전체 길이를 구하세요.
  4. 꺼낼 요소의 개수를 나타내는 변수 $pick_num을 정의하세요.
  5. 임의로 검색된 키를 저장하려면 $rand_keys 배열을 정의하세요.
  6. 루프를 사용하여 실제 무작위 키를 생성하세요. $rand_keys 수가 $pick_num에 도달하면 루프를 중단하세요.
  7. foreach 루프를 사용하여 무작위로 가져온 요소를 결과 배열에 추가합니다.
  8. 마지막으로 결과를 인쇄합니다.

위는 PHP 배열에서 여러 요소를 무작위로 선택하는 세 가지 방법입니다. 실제 상황에 따라 다양한 방법을 선택할 수 있습니다. 대규모 배열의 경우 array_rand 함수 등을 선택할 수 있습니다. 이 작업은 간단해 보이지만 제품 경험을 향상하고 재미를 높이며 사용자 경험을 풍부하게 할 수 있습니다.

위 내용은 PHP 배열에서 여러 요소를 무작위로 추출하는 방법(세 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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