# array_rand

(PHP 4, PHP 5, PHP 7)

array_rand — 从数组中随机取出一个或多个单元

### 说明

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

从数组中取出一个或多个随机的单元，并返回随机条目的一个或多个键。 它使用了伪随机数产生算法，所以不适合密码学场景，

### 参数

`array`

  输入的数组。

`num`

  指明了你想取出多少个单元。

### 返回值

如果只取出一个，array_rand() 返回随机单元的键名。 否则就返回包含随机键名的数组。 完成后，就可以根据随机的键获取数组的随机值。 取出数量如果超过 array 的长度，就会导致 `E_WARNING` 错误，并返回 NULL。

### 更新日志

版本 | 说明
--- | ---
7.1.0 | 内置的随机数生成算法从 libc rand 函数改成» 梅森旋转 伪随机数生成算法。
5.2.10 | The resulting array of keys is no longer shuffled.

### 范例

Example #1 array_rand() 例子

    <?php
    $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
    $rand_keys = array_rand($input, 2);
    echo $input[$rand_keys[0]] . "\n";
    echo $input[$rand_keys[1]] . "\n";
    ?>

### 参见

- shuffle() - 打乱数组