Maison > développement back-end > Problème PHP > Comment générer des numéros de série uniques en php

Comment générer des numéros de série uniques en php

王林
Libérer: 2023-03-05 15:42:01
original
3585 Les gens l'ont consulté

Comment générer des numéros de série uniques en PHP : Vous pouvez utiliser la fonction intégrée [mt_rand()] pour y parvenir. La fonction [mt_rand()] est utilisée pour générer des entiers aléatoires, par exemple pour. générer un nombre compris entre 10 et 100. Un entier aléatoire compris entre , le code spécifique est : [mt_rand(10, 100)].

Comment générer des numéros de série uniques en php

php nous fournit la fonction mt_rand() spécifiquement pour générer des nombres aléatoires, qui utilise l'algorithme Mersenne Twister pour générer des entiers aléatoires.

Astuce : Cette fonction est un meilleur choix pour générer des valeurs aléatoires, renvoyant des résultats 4 fois plus rapidement que la fonction rand().

(Tutoriel recommandé : Tutoriel vidéo php)

Exemple :

Générer une valeur comprise entre 10 et 100 (dont 10 et 100) Entier aléatoire

mt_rand (10,100)
Copier après la connexion

Syntaxe de la fonction :

mt_rand();
or
mt_rand(min,max);
Copier après la connexion

Paramètres :

  • min Facultatif. Spécifie le nombre minimum à renvoyer. La valeur par défaut est 0.

  • max Facultatif. Spécifie le nombre maximum à renvoyer.

Valeur de retour :

Un entier aléatoire compris entre min (ou 0) et max (ou mt_getrandmax()) (y compris les valeurs limites). Si max < min renvoie FALSE.

(Recommandations associées : formation php)

Implémentation du code :

//生成随机码
    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;  
    }
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal