您的当前位置:首页正文

php生成随机数的三种方法

2022-09-07 来源:易榕旅网
php⽣成随机数的三种⽅法

如何⽤php⽣成1-10之间的不重复随机数?例1,使⽤shuffle函数⽣成随机数。

$arr=range(1,10);shuffle($arr);

foreach($arr as $values){

echo $values.\" \";}>

例2,使⽤array_unique函数⽣成随机数。

$arr=array();

while(count($arr)<10){

$arr[]=rand(1,10);

$arr=array_unique($arr);}

echo implode(\" \>

例3,使⽤array_flip函数⽣成随机数,可以去掉重复值。

$arr=array();$count1=0;$count = 0;

$return = array();while ($count < 10) {

$return[] = mt_rand(1, 10);

$return = array_flip(array_flip($return)); $count = count($return); } //www.jb51.net

foreach($return as $value) {

echo $value.\" \"; }

echo \"
\";

$arr=array_values($return);// 获得数组的值 foreach($arr as $key)echo $key.\" \";>

php随机数⽣成函数⽰例

function randpw($len=8,$format='ALL'){$is_abc = $is_numer = 0;$password = $tmp =''; switch($format){case 'ALL':

$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';break;

case 'CHAR':

$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';break;

case 'NUMBER':

$chars='0123456789';break;default :

$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';break;

} // www.jb51.net

mt_srand((double)microtime()*1000000*getmypid());while(strlen($password)<$len){

$tmp =substr($chars,(mt_rand()%strlen($chars)),1);

if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){

$is_numer = 1;}

if(($is_abc <> 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){$is_abc = 1;}

$password.= $tmp;}

if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){$password = randpw($len,$format);}

return $password;}

for($i = 0 ; $i < 10; $i++){echo randpw(8,'NUMBER');echo \"
\";}

PS:最后再为⼤家提供两款相关在线⼯具供⼤家参考使⽤:

因篇幅问题不能全部显示,请点此查看更多更全内容