数组函数

PHP array_rand() 函数

主题:PHP 数组参考上一页|下一页

说明

array_rand() 函数从数组中返回一个或多个随机键。

下表总结了该函数的技术细节。

返回值: 从数组中返回一个随机键或一组随机键。
变更日志:

自 PHP 7.1.0 起,内部随机化算法已更改为使用 Mersenne Twister 随机数生成器而不是 libc rand 函数。

自 PHP 5.2.1 起,生成的键数组不再被打乱。
版本: PHP 4+

语法

array_rand() 函数的基本语法如下:

array_rand(array, num);

下面的例子展示了 array_rand() 函数的作用。

<?php
// 样本数组
$colors = array("red", "green", "blue", "yellow", "orange");
    
// 从颜色数组中获取两个随机键
$rand_keys = array_rand($colors, 2);
print_r($rand_keys);

// 从颜色数组中打印相应的值
echo $colors[$rand_keys[0]] . "<br>";
echo $colors[$rand_keys[1]];
?>

注意:如果您尝试选取的元素多于数组中的元素,array_rand() 函数将抛出 E_WARNING 级错误,并且 NULL 将被返回。


参数

array_rand() 函数接受以下参数。

参数 说明
array 必填。 指定要处理的数组。
num 可选。 指定要返回多少随机键。

更多示例

这里有更多示例展示了 array_rand() 函数的实际工作原理:

这个函数也可以和关联数组一起使用,下面是一个例子:

<?php
// 样本数组
$alphabets = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
    
// 从字母数组中获取三个随机键
$rand_keys = array_rand($alphabets, 3);
print_r($rand_keys);

// 使用循环从字母数组中打印相应的值
foreach($rand_keys as $key){
    echo $alphabets[$key] . "<br>";
}
?>
Advertisements