欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php中如何生成不重復(fù)隨機(jī)數(shù)-創(chuàng)新互聯(lián)

這篇文章主要介紹了php中如何生成不重復(fù)隨機(jī)數(shù),具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

在三門峽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),三門峽網(wǎng)站建設(shè)費(fèi)用合理。

php生成不重復(fù)隨機(jī)數(shù)的方法:首先創(chuàng)建一個(gè)PHP示例文件;然后通過(guò)“mt_random($min,$max)”方法隨機(jī)出區(qū)間內(nèi)的一個(gè)值;最后通過(guò)兩次“key-value”交換,也就是通過(guò)數(shù)組key的性,使得做到不重復(fù)即可。

PHP中生產(chǎn)不重復(fù)隨機(jī)數(shù)的方法

PHP內(nèi)置函數(shù)不重復(fù)隨機(jī)數(shù)

需求:要生成一個(gè)數(shù)組,這個(gè)數(shù)組里面有10個(gè)元素,都是整形,并且是1-60之間不重復(fù)的隨機(jī)數(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 結(jié)果數(shù)組的個(gè)數(shù),他在while 循環(huán)中 使得結(jié)果數(shù)組的個(gè)數(shù)小于 目標(biāo)個(gè)數(shù)。通過(guò)這樣,獲取到$count 是 目標(biāo)個(gè)數(shù) 的一個(gè)數(shù)組。

期間,每一個(gè)循環(huán)中,通過(guò)mt_random($min,$max),隨機(jī)出區(qū)間內(nèi)的一個(gè)值,存放到數(shù)組$res中,然后通過(guò)兩次key-value 交換,也就是通過(guò)數(shù)組key的性,使得做到不重復(fù)。


我看了這個(gè)邏輯的代碼之后,我不禁陷入了深思,假如說(shuō)當(dāng)你不知道array_filp 函數(shù)的時(shí)候你怎么做?

說(shuō)白了就是用key的性,使得隨機(jī)數(shù)不會(huì)存在重復(fù)。那么我們能不能將這個(gè)問(wèn)題簡(jiǎn)單化處理呢?

代碼示例:

<?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);  
       
 
        ?>

這樣完全是單獨(dú)的通過(guò)數(shù)組key的性  解決了這個(gè)問(wèn)題。根本就不會(huì)用到array_flip。

總結(jié):

1,因?yàn)閜hp提供了大量的內(nèi)置函數(shù),他們的執(zhí)行效率都很高。在遇到問(wèn)題的時(shí)候,盡可能去用它去解決問(wèn)題。這樣方便而且快速。

2,php 提供了大量的內(nèi)置函數(shù),執(zhí)行效率也很高,但是,雖然效率高,還是需要時(shí)間去執(zhí)行的。

在遇到問(wèn)題的時(shí)候,不要盲目的去做,可以先看清處理方法的本質(zhì),以便于巧妙的實(shí)現(xiàn)他。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享php中如何生成不重復(fù)隨機(jī)數(shù)內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

本文標(biāo)題:php中如何生成不重復(fù)隨機(jī)數(shù)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.chinadenli.net/article0/dhcgio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)網(wǎng)站設(shè)計(jì)公司全網(wǎng)營(yíng)銷推廣網(wǎng)站策劃App開(kāi)發(fā)關(guān)鍵詞優(yōu)化

廣告

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

營(yíng)銷型網(wǎng)站建設(shè)