在PHP中,数组函数 array_rand () 用于从数组中随机取出一个或多个键。
函数语法:
array_rand ( array $array [, int $num = 1 ] ) : mixed
函数参数说明:
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
num | 可选。规定返回多少个随机的元素。 |
array_rand() 从数组中取出一个或多个随机的键。如果只取出一个,array_rand() 返回随机单元的键名; 否则就返回包含随机键名的数组。 完成后,就可以根据随机的键获取数组的随机值。
如果取出数量如果超过 array 的长度,就会导致 E_WARNING 错误,并返回 NULL。
举例1,从数组中取出一个随机键:
<?php // 定义数组 $arr = ['1' => 'a', '2' => 'b', '3' => 'c']; // 从数组中随机取出指定数量的键 $res = array_rand($arr, 1); var_dump($res); echo '<br>'; var_dump($arr);
以上代码可能输出如下:
int 3 array (size=3) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1)
举例2,从数组中取出多个随机键:
<?php // 定义数组 $arr = ['1' => 'a', '2' => 'b', '3' => 'c']; // 从数组中随机取出指定数量的键 $res = array_rand($arr, 2); var_dump($res); echo '<br>'; var_dump($arr);
以上代码可能输出如下:
array (size=2) 0 => int 1 1 => int 3 array (size=3) 1 => string 'a' (length=1) 2 => string 'b' (length=1) 3 => string 'c' (length=1)
注意:
此方法返回的是数组元素的键,而不是数组元素。