php生成随机数的三种方法_PHP教程
程序员文章站
2022-06-17 20:22:24
...
php生成随机数的三种方法
如何用php生成1-10之间的不重复随机数?
例1,使用shuffle函数生成随机数。
1 |
2 | $arr=range(1,10); |
3 | shuffle($arr); |
4 | foreach($arr as $values) |
5 | { |
6 | echo $values." "; |
7 | } |
8 | ?> |
例2,使用array_unique函数生成随机数。
1 |
2 | $arr=array(); |
3 | while(count($arr) |
4 | { |
5 | $arr[]=rand(1,10); |
6 | $arr=array_unique($arr); |
7 | } |
8 | echo implode(" ",$arr); |
9 | ?> |
例3,使用array_flip函数生成随机数,可以去掉重复值。
01 |
02 | $arr=array(); |
03 | $count1=0; |
04 | $count = 0; |
05 | $return = array(); |
06 | while ($count |
07 | { |
08 | $return[] = mt_rand(1, 10); |
09 | $return = array_flip(array_flip($return)); |
10 | $count = count($return); |
11 | } //www.jbxue.com |
12 | foreach($return as $value) |
13 | { |
14 | echo $value." "; |
15 | } |
16 | echo " "; |
17 | $arr=array_values($return);// 获得数组的值 |
18 | foreach($arr as $key) |
19 | echo $key." "; |
20 | ?> |
php随机数生成函数示例
01 |
02 | function randpw($len=8,$format='ALL'){ |
03 | $is_abc = $is_numer = 0; |
04 | $password = $tmp =''; |
05 | switch($format){ |
06 | case 'ALL': |
07 | $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
08 | break; |
09 | case 'CHAR': |
10 | $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; |
11 | break; |
12 | case 'NUMBER': |
13 | $chars='0123456789'; |
14 | break; |
15 | default : |
16 | $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
17 | break; |
18 | } // www.jbxue.com |
19 | mt_srand((double)microtime()*1000000*getmypid()); |
20 | while(strlen($password) |
21 | $tmp =substr($chars,(mt_rand()%strlen($chars)),1); |
22 | if(($is_numer 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){ |
23 | $is_numer = 1; |
24 | } |
25 | if(($is_abc 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){ |
26 | $is_abc = 1; |
27 | } |
28 | $password.= $tmp; |
29 | } |
30 | if($is_numer 1 || $is_abc 1 || empty($password) ){ |
31 | $password = randpw($len,$format); |
32 | } |
33 | return $password; |
34 | } |
35 | for($i = 0 ; $i |
36 | echo randpw(8,'NUMBER'); |
37 | echo " "; |
38 | } |
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
上一篇: PHP教程.PHP中的数据处理_PHP
下一篇: MySQL的邮件列表_MySQL
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论