這篇文章主要介紹了php中如何生成不重復隨機數(shù),具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
在三門峽等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網站設計制作、網站建設 網站設計制作按需定制網站,公司網站建設,企業(yè)網站建設,品牌網站制作,成都全網營銷推廣,外貿營銷網站建設,三門峽網站建設費用合理。php生成不重復隨機數(shù)的方法:首先創(chuàng)建一個PHP示例文件;然后通過“mt_random($min,$max)”方法隨機出區(qū)間內的一個值;最后通過兩次“key-value”交換,也就是通過數(shù)組key的性,使得做到不重復即可。
PHP中生產不重復隨機數(shù)的方法
PHP內置函數(shù)不重復隨機數(shù)
需求:要生成一個數(shù)組,這個數(shù)組里面有10個元素,都是整形,并且是1-60之間不重復的隨機數(shù)。
代碼:
代碼示例:
<?php function get_randoms( $min , $max , $num ){ $count = 0; $res = array (); while ( $count < $num ){ $res [] = mt_random( $min , $max ); $res = array_flip ( array_flip ( $res )); $count = count ( $res ); } return $res ; } $result = get_randoms(1,60,10); ?>
在這里 他用$count 結果數(shù)組的個數(shù),他在while 循環(huán)中 使得結果數(shù)組的個數(shù)小于 目標個數(shù)。通過這樣,獲取到$count 是 目標個數(shù) 的一個數(shù)組。
期間,每一個循環(huán)中,通過mt_random($min,$max),隨機出區(qū)間內的一個值,存放到數(shù)組$res中,然后通過兩次key-value 交換,也就是通過數(shù)組key的性,使得做到不重復。
我看了這個邏輯的代碼之后,我不禁陷入了深思,假如說當你不知道array_filp 函數(shù)的時候你怎么做?
說白了就是用key的性,使得隨機數(shù)不會存在重復。那么我們能不能將這個問題簡單化處理呢?
代碼示例:
<?php function get_randoms( $min , $max , $num ){ $count = 0; $res = array (); while ( $count < $num ){ $key = mt_random( $min , $max ); $res [ $key ] = $key ; $count = count ( $res ); } return $res ; } $result = get_randoms(1,60,10); ?>
這樣完全是單獨的通過數(shù)組key的性 解決了這個問題。根本就不會用到array_flip。
總結:
1,因為php提供了大量的內置函數(shù),他們的執(zhí)行效率都很高。在遇到問題的時候,盡可能去用它去解決問題。這樣方便而且快速。
2,php 提供了大量的內置函數(shù),執(zhí)行效率也很高,但是,雖然效率高,還是需要時間去執(zhí)行的。
在遇到問題的時候,不要盲目的去做,可以先看清處理方法的本質,以便于巧妙的實現(xiàn)他。
感謝你能夠認真閱讀完這篇文章,希望小編分享php中如何生成不重復隨機數(shù)內容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網站建設公司,,關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網站建設公司,,詳細的解決方法等著你來學習!
本文標題:php中如何生成不重復隨機數(shù)-創(chuàng)新互聯(lián)
網站URL:http://muchs.cn/article0/dhcgio.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網站設計公司、全網營銷推廣、網站策劃、App開發(fā)、關鍵詞優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)