微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php生成随机数的三种方法

如何用PHP生成1-10之间的不重复随机数?

例1,使用shuffle函数生成随机数。

rush:PHP;">

例2,使用array_unique函数生成随机数。

rush:PHP;"> PHP $arr=array(); while(count($arr)<10) { $arr[]=rand(1,10); $arr=array_unique($arr); } echo implode(" ",$arr); ?>

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

rush:PHP;"> PHP $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.cc foreach($return as $value) { echo $value." "; } echo "
"; $arr=array_values($return);// 获得数组的值 foreach($arr as $key) echo $key." "; ?>

PHP随机生成函数示例

rush:PHP;"> 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.cc 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:最后再为大家提供两款相关在线工具供大家参考使用:

在线随机数字/字符串生成工具:

高强度随机密码生成器:

原文地址:https://www.jb51.cc/php/23825.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐