>  기사  >  백엔드 개발  >  여러 요소를 무작위로 얻는 PHP 배열 학습

여러 요소를 무작위로 얻는 PHP 배열 학습

青灯夜游
青灯夜游원래의
2021-08-05 18:13:426121검색

이전 글에서는 배열 요소를 무작위로 섞는 방법을 소개했습니다. 관심이 있으시면 클릭하여 → "PHP 배열 학습: 무작위 정렬, 배열 요소 섞기"를 읽어보세요. 다음 글에서는 무작위성에 대해 살펴보고 하나 이상의 배열 요소를 무작위로 얻는 방법을 소개하겠습니다.

사실 PHP에서 제공하는 배열 함수 array_rand()가 있습니다. 그 기능은 무작위로 얻는 것이지만 하나 이상의 배열 키 이름만 얻을 수 있고 키 값을 얻을 수는 없습니다.

array_rand()는 배열 키 값을 직접 얻을 수 없지만 array_rand()에서 얻은 무작위 키 이름을 사용하고 몇 줄의 코드를 추가하여 요소(키 이름과 키 값 모두)를 무작위로 얻습니다.

구현 코드를 살펴보겠습니다.

<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr);
$arr2[$rand]=$arr[$rand];
var_dump($arr2);
?>

출력 결과:

여러 요소를 무작위로 얻는 PHP 배열 학습

array_rand($arr) 문이 무작위로 하나의 요소만 가져오는 것을 볼 수 있습니다. 무작위로만 가능합니다. 키 이름을 얻을 수 있는데, 여러 키 이름을 얻는 방법은 무엇입니까? array_rand($arr)语句只能随机获取一个键名,那么如何获取多个键名呢?

只需要给array_rand()函数设置两个参数,第一个参数$array指定数组,而第二个参数$number指定要获取的键名的数目。

<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr,3);
foreach($rand as $val){
	$arr2[$val]=$arr[$val];
}
var_dump($arr2);
?>

当array_rand()函数获取到了多个键名,那么就会返回一个包含随机键名的数组。

这样我们就可以使用foreach语句来遍历$rands数组,不断的根据$rands数组中的键名从$arrs数组中取值,并赋值给新数组$arr2即可。我们来看看输出结果:

여러 요소를 무작위로 얻는 PHP 배열 학습

刷新一下,结果就改变了:

여러 요소를 무작위로 얻는 PHP 배열 학습

注:array_rand()如果获取的数量($number)超过了 $array

array_rand() 함수에 두 개의 매개변수만 설정하면 됩니다. 첫 번째 매개변수 $array는 배열을 지정하고, 두 번째 매개변수 $number는 키 이름을 지정합니다. 번호를 얻습니다.

rrreee여러 요소를 무작위로 얻는 PHP 배열 학습 array_rand() 함수가 여러 키 이름을 획득하면 임의의 키 이름이 포함된 배열을 반환합니다.

이런 방식으로 foreach 문을 사용하여 $rands 배열을 순회하고 $arrs 배열에서 데이터를 지속적으로 추출할 수 있습니다. code>$rands 배열에서 값을 가져와 새 배열 $arr2에 할당합니다. 출력을 살펴보겠습니다. 3 .png

새로고침하면 결과가 변경됩니다. 여러 요소를 무작위로 얻는 PHP 배열 학습

🎜참고: array_rand()($number)로 얻은 숫자가 $array의 길이를 초과하면 E_WARNING 오류가 발생하고 NULL을 반환합니다. 🎜🎜🎜🎜🎜그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →🎜php 동영상 튜토리얼🎜🎜🎜마지막으로 PHP 배열에 대한 무료 동영상 튜토리얼을 추천합니다: 🎜PHP 함수 배열 배열 함수 동영상 설명🎜, 와서 배워보세요! 🎜

위 내용은 여러 요소를 무작위로 얻는 PHP 배열 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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