array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_rand從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)隨機(jī)鍵

說明

array_rand(array $array, int $num = 1): int|string|array

從數(shù)組中取出一個(gè)或多個(gè)隨機(jī)的單元,并返回隨機(jī)條目對(duì)應(yīng)的鍵(一個(gè)或多個(gè))。 它使用了偽隨機(jī)數(shù)產(chǎn)生算法,所以不適合密碼學(xué)場(chǎng)景。

參數(shù)

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($input2);
echo 
$input[$rand_keys[0]] . "\n";
echo 
$input[$rand_keys[1]] . "\n";
?>

參見