<?php echo rand(min,max);?>
使用 PHP 做网站时,有时需要使用 PHP 生成随机数,这对于 PHP 来说很简单,通常 PHP 生成随机数,会使用下面的代码:
<?php echo rand(min,max);?>
但是如果使用上面的代码同时生成多个随机数时,会出现生成很多相同的随机数。那么如何让 PHP 生成多个不重复的随机数呢?
我们可以将随机产生的数存入数组,但在存入的同时去除重复的值,即可生成一定数量的不重复随机数。当然也可以把指定范围内的数值存进数组,再使用 shuffle($array)打乱这个数组,然后再截取其中一定数量的值。但后面的一种做法在指定的随机数范围太大的时候会产生一个较大的数组。
<?php
function unique_rand($min, $max, $num) {
$count = 0;
$return = array();
while ($count < $num) {
$return[] = mt_rand($min, $max);
$return = array_flip(array_flip($return));
$count = count($return);
}
//打乱数组,重新赋予数组新的下标
shuffle($return);
return $return;
}
//生成10个1到100范围内的不重复随机数
$arr = unique_rand(1, 100, 10);
echo implode($arr, ",");
?>
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!