php生成隨機(jī)數(shù)的三種方法
如何用php生成1-10之間的不重復(fù)隨機(jī)數(shù)?
例1,使用shuffle函數(shù)生成隨機(jī)數(shù)。
<?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?>
例2,使用array_unique函數(shù)生成隨機(jī)數(shù)。
<?php $arr=array(); while(count($arr)<10) { $arr[]=rand(1,10); $arr=array_unique($arr); } echo implode(" ",$arr); ?>
例3,使用array_flip函數(shù)生成隨機(jī)數(shù),可以去掉重復(fù)值。
<?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); } //chabaoo.cn foreach($return as $value) { echo $value." "; } echo "<br/>"; $arr=array_values($return);// 獲得數(shù)組的值 foreach($arr as $key) echo $key." "; ?>
php隨機(jī)數(shù)生成函數(shù)示例
<?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; } // chabaoo.cn 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 "<br>"; }
PS:最后再為大家提供兩款相關(guān)在線工具供大家參考使用:
在線隨機(jī)數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
高強(qiáng)度隨機(jī)密碼生成器:
http://tools.jb51.net/password/CreateStrongPassword
相關(guān)文章
Windows下安裝PHP單元測(cè)試環(huán)境PHPUnit圖文教程
這篇文章主要介紹了Windows下安裝PHP單元測(cè)試環(huán)境PHPUnit圖文教程,按照本文操作即可在Windows下安裝成功PHPUnit,需要的朋友可以參考下2014-10-10PHP中調(diào)用C/C++制作的動(dòng)態(tài)鏈接庫(kù)的教程
這篇文章主要介紹了PHP中調(diào)用C/C++制作的動(dòng)態(tài)鏈接庫(kù)的教程,文中還簡(jiǎn)單地提到了gcc編譯器下動(dòng)態(tài)鏈接庫(kù)的制作方法,需要的朋友可以參考下2016-03-03PHP使用mkdir創(chuàng)建多級(jí)目錄的方法
這篇文章主要介紹了PHP使用mkdir創(chuàng)建多級(jí)目錄的方法,結(jié)合實(shí)例詳細(xì)分析了PHP中mkdir函數(shù)的使用技巧,需要的朋友可以參考下2015-12-12php實(shí)現(xiàn)購(gòu)物車(chē)功能(以大蘋(píng)果購(gòu)物網(wǎng)為例)
本文主要介紹了php實(shí)現(xiàn)購(gòu)物車(chē)功能(以大蘋(píng)果購(gòu)物網(wǎng)為例)的實(shí)現(xiàn)方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03php中經(jīng)典方法實(shí)現(xiàn)判斷多維數(shù)組是否為空
傳統(tǒng)的判斷數(shù)組為空 一般用count或者key 而且多維數(shù)組的話很麻煩2011-10-10php使用imagecopymerge()函數(shù)創(chuàng)建半透明水印
這篇文章主要介紹了php使用imagecopymerge()函數(shù)創(chuàng)建半透明水印,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01PHP常見(jiàn)的6個(gè)錯(cuò)誤提示及解決方法
自學(xué)黨們?cè)谧詫W(xué)php的時(shí)候,經(jīng)常會(huì)發(fā)生一些小錯(cuò)誤,這篇文章主要介紹了PHP常見(jiàn)的6個(gè)錯(cuò)誤提示及解決方法,感興趣的小伙伴們可以參考一下2016-07-07