成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些-創(chuàng)新互聯(lián)

php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的寶山網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

下面寫幾種生成不重復(fù)隨機數(shù)的方法,直接上代碼吧

代碼如下:

<?phpdefine('RANDOM_MAX', 100);define('COUNT', 10);
echo 'max random num: '.RANDOM_MAX, ' ;result count:'.COUNT, '<br/>';
invoke_entry('rand1');invoke_entry('rand2');invoke_entry('rand3');invoke_entry('rand4');
function invoke_entry($func_name) { $time = new time(); $time->time_start(); call_user_func($func_name); echo $func_name.' time spend: ', $time->time_spend(); echo '<br/>';}function rand1() { $numbers = range (1, RANDOM_MAX); shuffle($numbers); //隨機打亂數(shù)組 $result = array_slice($numbers, 1, COUNT); return $result;}function rand2() { $result = array();  while(count($result)< COUNT) {  $result[] = mt_rand(1, RANDOM_MAX); //mt_rand()是比rand()更好更快的隨機函數(shù)  $result = array_unique($result); //刪除數(shù)組中重復(fù)的元素 } return $result;}function rand3() { $result = array();    while(count($result) < COUNT) {  $_tmp = mt_rand(1, RANDOM_MAX);  if(!in_array($_tmp, $result)) { //當(dāng)數(shù)組中不存在相同的元素時,才允許插入   $result[] = $_tmp;  } }    return $result;}function rand4() { $result = array(); while (count($result) < COUNT) {  $result[] = mt_rand(1, RANDOM_MAX);  $result = array_flip(array_flip($result)); //array_flip將數(shù)組的key和value交換 } return $result;}class time { private $_start;  public function time_start() {  $this->_start = $this->microtime_float(); } public function time_spend() {  return $this->microtime_float() - $this->_start; } private function microtime_float() {  list($usec, $sec) = explode(" ", microtime());  return ((float)$usec + (float)$sec); }}
?>

說一下第四種方法,就是翻翻法了,利用array_flip()將數(shù)組的鍵和值翻轉(zhuǎn),利用php數(shù)組特性,重復(fù)的鍵會覆蓋,此時再翻轉(zhuǎn)一次,就相同于去掉了重復(fù)的值。
以上幾種方法只是簡單的例子,有的方法適用范圍有限。

在看看幾種方法的效率:

php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些

php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些

array_unique()在數(shù)組較大時性能比較差,當(dāng)然shuffle()也會受此影響。

看完上述內(nèi)容,你們掌握php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

本文標題:php生成不重復(fù)隨機數(shù)、數(shù)組的方法有哪些-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://jinyejixie.com/article26/cshjcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)網(wǎng)站制作、商城網(wǎng)站搜索引擎優(yōu)化、軟件開發(fā)網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
库伦旗| 岳阳县| 清新县| 新昌县| 曲阳县| 阿拉善右旗| 炉霍县| 屏东市| 泽普县| 长宁县| 肇庆市| 青州市| 东至县| 繁峙县| 内丘县| 虞城县| 怀远县| 新宾| 东兴市| 连江县| 朝阳区| 扶沟县| 台北县| 淮北市| 保靖县| 海晏县| 高碑店市| 云梦县| 阳西县| 民乐县| 长阳| 达拉特旗| 凤阳县| 齐齐哈尔市| 英德市| 河源市| 临清市| 勃利县| 迁安市| 紫金县| 同江市|