如何用php生成1-10之间的不重复随机数?
例1,使用shuffle函数生成随机数。
立即学习“PHP免费学习笔记(深入)”;
| 1 |
| 2 | $arr=range(1,10); |
| 3 | shuffle($arr); |
| 4 | foreach($arr as $values) |
| 5 | { |
| 6 | echo $values." "; |
| 7 | } |
| 8 | ?> |
例2,使用array_unique函数生成随机数。
立即学习“PHP免费学习笔记(深入)”;
| 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函数生成随机数,可以去掉重复值。
立即学习“PHP免费学习笔记(深入)”;
| 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 | } |
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号