在之前的文章中我们介绍了随机打乱数组元素的方法,感兴趣的可以点击查阅→《PHP数组学习之随机排序,打乱数组元素》。下面这篇文章我们在来看看随机,介绍一下随机获取一个或多个数组元素的方法。
其实PHP中提供有一个数组函数array_rand(),它的作用就是随机获取,但只能获取一个或多个数组键名,无法获取键值。
array_rand()虽然无法直接获取数组键值,但我们利用array_rand()获取到的随机键名,再多添加几句代码来实现随机获取元素(键名和键值都有)。
我们来看看实现代码:
"red","b"=>"green","c"=>"blue","d"=>"yellow"); $rand = array_rand($arr); $arr2[$rand]=$arr[$rand]; var_dump($arr2); ?>
输出结果:

可以看出:我们只随机获取到了一个元素,因为array_rand($arr)语句只能随机获取一个键名,那么如何获取多个键名呢?
只需要给array_rand()函数设置两个参数,第一个参数$array指定数组,而第二个参数$number指定要获取的键名的数目。
"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即可。我们来看看输出结果:

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

注:array_rand()如果获取的数量($number)超过了$array的长度,就会导致 E_WARNING 错误,并返回 NULL。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
最后给大家推荐一个PHP数组的免费视频教程:PHP函数之array数组函数视频讲解,快来学习吧!
Atas ialah kandungan terperinci PHP数组学习之随机获取多个元素. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Apakah definisi tatasusunan?
js rentetan kepada tatasusunan
Bagaimana untuk membuka fail php
Kaedah permulaan tatasusunan
c kaedah permulaan tatasusunan
Bagaimana untuk mencari nilai maksimum dan minimum elemen tatasusunan dalam Java
Bagaimana untuk mengalih keluar beberapa elemen pertama tatasusunan dalam php
Apa yang perlu dilakukan jika penyahserialisasian php gagal