array_rand
(PHP 4, PHP 5)
array_rand — 从数组中随机取出一个或多个单元
说明
mixed array_rand ( array $input [, int $num_req ] )如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
Note: 自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 给随机数发生器播种 ,因为现在是由系统自动完成的。
Example #1 array_rand() 例子
<?php
srand((float) microtime() * 10000000);
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
print $input[$rand_keys[0]] . " ";
print $input[$rand_keys[1]] . " ";
?>
来自 http://www.php100.com/cover/php/184.html
PHP shuffle 将数组打乱
shuffle
(PHP 4, PHP 5)
shuffle — 将数组打乱
说明
bool shuffle ( array &$array )Note: 此函数为 array 中的元素赋与新的键名。这将删除原有的键名,而不是仅仅将键名重新排序。
Example #1 shuffle() 例子
<?php
$numbers = range(1,20);
srand((float)microtime()*1000000);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
Note: 自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 给随机数发生器播种 ,因为现在是由系统自动完成的。
参见 arsort(),asort(),ksort(),rsort(),sort() 和 usort()。
随机抽取就是将原有数组的元素打乱后输出,这意味着每次执行后,抽取的顺序或元素都不同,该功能可以用来在网页上每次显示不同的广告用shuffle()函数实现数组的随机抽取:
<?php
$textArray = array('1','2','3','4','5','6','7');
shuffle($textArray);
print_r($textArray);
?>
结果如下显示:
Array ( [0] => 6 [1] => 3 [2] => 7 [3] => 4 [4] => 1 [5] => 2 [6] => 5 )
实现的数组元素的随机排序;
另外php还提供了从数组中随机抽取值的函数:array_rand() ,其调用格式如下:
array_rand(<数组>,[抽取元素的个数]);
<?php
$arry = array('A','B','C','D');
$result = array_rand($arry,2);
foreach ($result as $val) {
echo $arry["$val"].""; }
?>
结果显示如下:
B
C
刷新有不同的结果;