>백엔드 개발 >PHP 튜토리얼 >array_php 기술에서 여러 임의 요소를 가져오는 PHP 함수 shuffle() 방법 분석

array_php 기술에서 여러 임의 요소를 가져오는 PHP 함수 shuffle() 방법 분석

WBOY
WBOY원래의
2016-05-16 19:54:591463검색

이 기사의 예에서는 PHP 함수 shuffle()이 배열에서 여러 임의 요소를 가져오는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

때때로 배열에서 여러 임의 요소를 가져와야 하는 경우(예: 임의 추천 기능 만들기), PHP에서 이를 어떻게 구현합니까? 비교적 간단한 해결책은 PHP 자체 shuffle() 함수를 사용하는 것입니다. 간단한 예는 다음과 같습니다.

$data[] = array(
    "name" => "脚本之家",
    "rank" => "40"
);
$data[] = array(
    "name" => "博客园",
    "rank" => "50"
);
$data[] = array(
    "name" => "CSDN",
    "rank" => "60"
);
$data[] = array(
    "name" => "ITEYE",
    "rank" => "50"
);
shuffle($data);
$i = 0;
foreach($data as $key =>$value ){
    if($i < 2) {
        echo $data[$key]['name'].'<br />';
    }
    $i++;
}

셔플()

shuffle() 함수는 배열의 요소를 무작위 순서로 재정렬합니다. 성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 이 함수는 배열의 요소에 새 키를 할당합니다. 이렇게 하면 원래 키를 재정렬하는 것이 아니라 삭제합니다.

연관 배열이 전달되면 연관 배열의 키 이름이 손실됩니다. 그런데 해결책은 다음과 같습니다.

// 打乱关联数组的排序
function shuffle_assoc($array)
{ 
  $randomized_keys = array_rand($array, count($array)); 
  foreach($randomized_keys as $current_key)
  { 
    $output[$current_key] = $array[$current_key]; 
  } 
  return $output;
}

또한 PHP는 배열에서 값을 무작위로 추출하는 함수를 제공합니다: array_rand(). 호출 형식은 다음과 같습니다. array_rand(배열, 추출된 요소의 수); 차원 배열의 경우 캡슐화도 즉시 사용할 수 있습니다. 그러나 이전 프로그램은 2차원 배열을 매우 잘 지원합니다.

더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "PHP 작업 및 연산자 사용법 요약", "PHP 네트워크 프로그래밍 기술 요약", " PHP 기본 구문 입문 튜토리얼", "PHP 오피스 문서 조작 스킬 요약(워드, 엑셀, 액세스, ppt 포함)", "요약 PHP 날짜 및 시간 사용법》, "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php mysql 데이터베이스 운영 입문 튜토리얼" 그리고 "PHP의 일반적인 데이터베이스 운영 기술 요약"

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

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