array_rand()

1. 定义

该函数从数组中随机取出指定个元素。 如果只取出一个,那么该函数将返回这个随机单元的键名(然后可通过键名获取其键值); 如果取出多个,将返回一个包含随机取出的元素的键名数组; 如果要取的数量大于数组元素的个数将发生错误,并返回NULL。

注:

  • 该函数使用梅森旋转伪随机数生成算法取出随机元素

2. 语法

array_rand ( array $array [, int $num = 1 ] ) : mixed

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待处理的数组
$num 可选 整型 要取出的随机元素的个数,默认为1,不能超过数组的长度

4. 示例

<?php

// array_rand()
// 从数组中随机取出指定个元素,返回随机元素的键名或键名数组

$arr = [
    'Name'=>'极速教程',
    'none'=>'',// 空字符串
    'bool'=>false,
    'number'=>9
];

$res = array_rand($arr);
var_dump($res);// 输出:string(4) "bool"

$res = array_rand($arr, 2);
var_dump($res);
/* 输出:
array(2) {
  [0]=>
  string(4) "none"
  [1]=>
  string(4) "bool"
}
*/

5. 延展阅读

  • shuffle():将指定数组的元素顺序随机打乱