ホームページ  >  記事  >  バックエンド開発  >  PHPで一意のシリアル番号を生成する方法

PHPで一意のシリアル番号を生成する方法

王林
王林オリジナル
2020-09-01 13:58:003522ブラウズ

php で一意のシリアル番号を生成する方法: 組み込み関数 [mt_rand()] を使用してこれを実現できます。[mt_rand()] 関数は、ランダムな整数を生成するために使用されます。たとえば、 10 から 100 までの数値を生成します。 の間のランダムな整数、特定のコードは [mt_rand(10, 100)] です。

PHPで一意のシリアル番号を生成する方法

php は、乱数の生成に特別に使用される関数 mt_rand() を提供します。この関数は、メルセンヌ ツイスター アルゴリズムを使用してランダムな整数を生成します。

ヒント: この関数はランダムな値を生成する場合に適しており、rand() 関数よりも 4 倍速く結果を返します。

(推奨チュートリアル: php ビデオ チュートリアル )

例:

10 ~ 100 の値を生成します (10 ~ 100 を含む) ランダムな整数

mt_rand (10,100)

関数構文:

mt_rand();
or
mt_rand(min,max);

パラメーター:

  • ##min オプション。返す最小数を指定します。デフォルトは 0 です。

  • #max オプション。返す最大数を指定します。

戻り値:

最小値 (または 0) と最大値 (または mt_getrandmax()) の間のランダムな整数 (境界値を含む)。 max (関連する推奨事項:

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。