php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍

时间:2022-06-18 14:13:39

shuffle()定义和用法 
shuffle() 函数把数组中的元素按随机顺序重新排列。 

若成功,则返回 TRUE,否则返回 FALSE。 

注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。 

语法 
shuffle(array) 参数 描述 
array 必需。规定要使用的数组。 

例子 

复制代码代码如下:


<?php 
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); 
shuffle($my_array); print_r($my_array); 
?> 


输出: 

Array ( [0] => Cat [1] => Horse [2] => Dog ) 

array_rand()定义和用法 
array_rand() 函数从数组中随机选出一个或多个元素,并返回。 

第二个参数用来确定要选出几个元素。如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名。 

注释:如果指定array_rand()函数抽取的索引个数大于1,那么不管抽取的是数字索引数组还是关联数组,都将取得原数组的key,并放在一个新的索引数组中。 

注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成。 

语法 
array_rand(array,number) 参数 描述 
array 必需。规定输入的数组参数。 
number 可选。默认是 1。规定返回多少个随机的元素。 

例子 1 

复制代码代码如下:


<?php 
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); 
print_r(array_rand($a,1)); 
?> 


输出: 


例子 2 
带有字符串键的数组: 

复制代码代码如下:


<?php 
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); 
print_r(array_rand($a,2)); 
?> 


输出: 

Array ( [0] => c [1] => b )