如何用php生成1-10之间的不重复随机数?
例1,使用shuffle函数生成随机数。
?php$arr=range(1,10);shuffle($arr);foreach($arr as $html' target='_blank'>values) echo $values. ?
例2,使用array_unique函数生成随机数。
?php$arr=array();while(count($arr) 10) $arr[]=rand(1,10); $arr=array_unique($arr);echo implode( ,$arr);?
例3,使用array_flip函数生成随机数,可以去掉重复值。
?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.netforeach($return as $value) echo $value. echo br/ $arr=array_values($return);// 获得数组的值 foreach($arr as $key)echo $key. ?
php随机数生成函数示例
?phpfunction 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.netmt_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 $i++){echo randpw(8, NUMBER echo br }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !
相关推荐:
PHP生成图片验证码以及点击切换的代码
关于PHP实现微信红包金额拆分的算法
以上就是在php中生成随机数的3种方法的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答