php array_rand()函数随机从数组中选择一个或多个元素

180it 2021-05-18 PM 888℃ 0条

在php中我们可以使用 mt_rand() 或 rand() 函数获取某两个数字之间的一个随机数,但如果从一个数组中随机取出一个或多个元素该如何做呢?下面这片博文,我们就来说一说利用php中的 array_rand() 函数随机从数组中取出一个或多个元素的方法!

php array_rand() 函数介绍
array_rand():返回数组中的随机键名,如果指定多个,则以数组的形式返回!

语法:

array_rand(array,number)
复制
参数:

array:必需。规定数组。

number:可选,返回多少数量的键名,默认为1

注:number参数如果设置为大于1的数,则返回包含随机键名的数组,否则返回该元素的键名

例:php从数组中随机获取一个元素
代码:

<?php
//飞鸟慕鱼博客
$arr = array('red','blur','green');
$key = array_rand($arr);
// 这里是返回的元素下标,也就是键名,这里是字符串的形式输出
echo $key;
// 输出下标(键名)所指向的元素值
echo '<br/>';
echo $arr[$key];
?>
复制
返回结果:

2
green
复制
注意:

1、使用 array_rand() 函数随机获取一个元素时,是返回一个字符串形式的元素的键名

2、利用 array_rand() 函数返回的键名,来输出键名所指向的元素值

例:php从数组中随机获取多个元素
php代码:

<?php
//飞鸟慕鱼博客
$array = array("red","green","blue","yellow","brown",'black','white');
$keys = array_rand($array,3); //这里返回的是一个数组键名的集合数组
var_dump($keys); //打印一下数组
echo '<br/>';
foreach ($keys as $k => $a) {

echo $array[$a]; //利用获取到的键名输出元素的值
echo '<br/>';

}
?>
复制
输出结果:

array(3) {
[0]=>
int(0)
[1]=>
int(3)
[2]=>
int(6)
}
red
yellow
white
复制
注意:

1、使用 array_rand() 函数随机获取多个元素时,是返回由键名集合的数组

2、再利用返回的数组,来获取想要的元素值

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

php array_rand()函数随机从数组中选择一个或多个元素