如何从PHP中的数组中获取随机值?
PHP有两个函数可以从数组中获取随机值。 shuffle() 和 array_rand()函数用于从数组中获取随机值。
例子:
Input : $arr = ("a"=>"21", "b"=>"31", "c"=>"7", "d"=>"20")
// Get one random value
Output :7
Input : $arr = ("a"=>"21", "b"=>"31", "c"=>"7", "d"=>"20")
// Get two random values
Output : 21 31
方法一:该方法讨论的是 shuffle()函数在PHP中从数组中获取随机值。
PHP | shuffle()函数: shuffle()函数是PHP的一个内置函数,用于对数组中元素的顺序进行打乱或随机化。此函数为数组中的元素分配新键。它还将删除任何现有的键,而不仅仅是重新排序键并从零开始分配数字键。
句法:
bool shuffle( $array )
例子:
PHP
"21", "b"=>"31", "c"=>"7", "d"=>"20" );
// Use shuffle function to randomly assign numeric
// key to all elements of array.
shuffle($arr);
// Display the first shuffle element of array
echo $arr[0];
?>
PHP
"21", "b"=>"31", "c"=>"7", "d"=>"20" );
// Use array_rand function to returns random key
$key = array_rand($arr);
// Display the random array element
echo $arr[$key];
?>
PHP
"21", "b"=>"31", "c"=>"7", "d"=>"20" );
// It specify the number of element
$num = 2;
// It returns array of random keys
$keys = array_rand( $arr, $num );
// Display the array element
echo $arr[$keys[0]]." ".$arr[$keys[1]];
?>
输出:
31
在上面的示例中,关联数组的键已更改。 shuffle()函数从零开始为元素随机分配键。由于 shuffle() 永久更改数组的键。
方法二:在PHP使用 array_rand()函数从数组中获取随机值。
PHP | array_rand()函数: array_rand()函数是PHP的一个内置函数,用于从数组中获取随机数量的元素。元素是一个键,可以返回一个或多个键。
句法:
array_rand( $array, $num )
这个函数接受两个参数$array和$num 。 $array 变量存储数组元素, $num 参数保存需要获取的元素数量。此参数的默认值为 1。
示例 1:
PHP
"21", "b"=>"31", "c"=>"7", "d"=>"20" );
// Use array_rand function to returns random key
$key = array_rand($arr);
// Display the random array element
echo $arr[$key];
?>
输出:
21
在上面的例子中,我们没有明确指定第二个参数的值,所以默认值为 1,array_rand() 将返回一个随机键。
示例 2:此示例明确指定第二个参数的值,因此 array_rand()函数将返回随机键数组。
PHP
"21", "b"=>"31", "c"=>"7", "d"=>"20" );
// It specify the number of element
$num = 2;
// It returns array of random keys
$keys = array_rand( $arr, $num );
// Display the array element
echo $arr[$keys[0]]." ".$arr[$keys[1]];
?>
输出:
21 7