(PHP 4, PHP 5, PHP 7, PHP 8)
array_rand — 從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)隨機(jī)鍵
$array
, int $num
= 1): int|string|array從數(shù)組中取出一個(gè)或多個(gè)隨機(jī)的單元,并返回隨機(jī)條目對(duì)應(yīng)的鍵(一個(gè)或多個(gè))。 它使用了偽隨機(jī)數(shù)產(chǎn)生算法,所以不適合密碼學(xué)場(chǎng)景。
array
輸入的數(shù)組。
num
指定要取出的單元數(shù)量。
如果只取出一個(gè),array_rand()
返回隨機(jī)單元的鍵名。
否則就返回包含隨機(jī)鍵名的數(shù)組。
完成后,就可以根據(jù)隨機(jī)的鍵獲取數(shù)組的隨機(jī)值。
如果返回的是包含隨機(jī)鍵名的數(shù)組,數(shù)組單元的順序按照鍵名在原數(shù)組中的順序排列。
取出數(shù)量如果超過 array 的長(zhǎng)度,就會(huì)導(dǎo)致 E_WARNING
錯(cuò)誤,并返回 NULL。
版本 | 說明 |
---|---|
7.1.0 | 內(nèi)部隨機(jī)化算法已從 libc rand 函數(shù)更改為使用 ? 梅森旋轉(zhuǎn)算法(Mersenne Twister) 隨機(jī)數(shù)生成器。 |
示例 #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";
?>