首頁 > 後端開發 > PHP問題 > php如何產生不重複的序號

php如何產生不重複的序號

王林
發布: 2023-03-05 15:42:01
原創
3621 人瀏覽過

php產生不重複的序號的方法:可以利用內建函數【mt_rand()】來實現,【mt_rand()】函數用於產生隨機整數,例如要產生一個介於10和100之間的隨機整數,具體代碼為:【mt_rand(10, 100)】。

php如何產生不重複的序號

php為我們提供了專門用於產生隨機數的函數mt_rand(),該函數以 Mersenne Twister 演算法產生隨機整數。

提示:此函數是產生隨機值的較好選擇,回傳結果的速度是 rand() 函數的 4 倍。

(推薦教學:php影片教學

範例:

產生一個介於10 和100 之間(包含10 和100)的隨機整數

mt_rand (10,100)
登入後複製

函數語法:

mt_rand();
or
mt_rand(min,max);
登入後複製

參數:

  • min    可選。規定傳回的最小數。預設是 0。   

  • max    可選。規定返回的最大數。

傳回值:

介於 min(或 0)與 max(或 mt_getrandmax())之間(包括邊界值)的隨機整數。如果 max < min 則回傳 FALSE。

(相關推薦:php訓練

程式碼實作:

//生成随机码
    function GetRandStr($len=10){
        $chars = array(
            "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
            "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
            "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
            "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
            "3", "4", "5", "6", "7", "8", "9"
        );
        $charsLen = count($chars) - 1;
        shuffle($chars);
        $output = "";
        for ($i=0; $i<$len; $i++)
        {
            $output .= $chars[mt_rand(0, $charsLen)];
        }
        return $output;
    }
    //生成不在$arr中的序列号
    function getUniqueSerial($arr){
        $str = GetRandStr(64);
        if(in_array($str, $arr)){
            $str = getUniqueSerial($arr);
        }
        return $str;  
    }
登入後複製

以上是php如何產生不重複的序號的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板