"Script Home","rank" => "40");$data[] = array("/> "Script Home","rank" => "40");$data[] = array(">

>백엔드 개발 >PHP 튜토리얼 >배열 셔플 아카데미에서 여러 임의의 요소를 가져오기 위한 PHP 함수 셔플 방법 분석 노래 셔플 메모리를 다운로드하는 방법 셔플

배열 셔플 아카데미에서 여러 임의의 요소를 가져오기 위한 PHP 함수 셔플 방법 분석 노래 셔플 메모리를 다운로드하는 방법 셔플

WBOY
WBOY원래의
2016-07-29 08:54:421284검색

이 기사의 예에서는 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()

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(array, 요소 수 추출); 물론 2차원 배열을 지원하려면 사용하기 전에 캡슐화해야 합니다. 그러나 이전 프로그램은 2차원 배열을 매우 잘 지원합니다.

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

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

위 내용은 shuffle 및 php의 내용을 포함하여 배열에서 여러 임의 요소를 가져오는 PHP 함수 shuffle 분석을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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