[PHP]快速生成一个不重复的随机数组的自定义函数
注意关键字:快速、高效,这就需要在去重复值的时候不能使用array_unique()的函数,因为效率低。
/** * 生成一定数量的随机数组 * array array_rands(int $max,int $min,int $num) * 参数1:随机数范围最大值 * 参数2:随机数范围最小值 * 参数3:数量 */ function array_rands($max,$min,$num=2){ $count=0; $arr=array(); while($count<$num){ $arr[]=mt_rand($min,$max); //利用翻翻法去重,比array_unique高效很多 $arr=array_flip(array_flip($arr)); //结束条件 $count=count($arr); } //随机打乱数组并重新赋键 shuffle($arr); return $arr; }
评论