Maison > développement back-end > Problème PHP > comment générer une chaîne aléatoire en php

comment générer une chaîne aléatoire en php

autoload
Libérer: 2023-03-08 19:20:02
original
4447 Les gens l'ont consulté

1. Utilisez principalement deux fonctions :

  • chr()

  • mt_rand()

2. Format de syntaxe :

mt_rand() Utilisez Mersenne Twister Algorithme pour revenir à un entier aléatoire.

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

Si les paramètres facultatifs min et max ne sont pas fournis, mt_rand() renvoie un nombre pseudo-aléatoire compris entre 0 et RAND_MAX . Par exemple, si vous souhaitez un nombre aléatoire entre 5 et 15 (inclus), utilisez mt_rand(5, 15). De nombreux anciens générateurs de nombres aléatoires libc ont des propriétés incertaines et inconnues et sont lents. La fonction rand() de PHP utilise le générateur de nombres aléatoires libc par défaut. La fonction mt_rand() est utilisée de manière informelle pour la remplacer. Cette fonction utilise les propriétés connues de Mersenne Twister comme générateur de nombres aléatoires, qui peut générer des valeurs aléatoires en moyenne quatre fois plus rapidement que le libc fourni par rand() .

chr()Utilisez un entier compris entre range (256) (c'est-à-dire 0 à 255) comme paramètre et renvoyez un caractère correspondant.

chr(i)
Copier après la connexion

La valeur de retour est le caractère ASCII correspondant à l'entier courant.

3. Utilisez les deux fonctions ci-dessus pour générer des chaînes aléatoires

<?php
  function getString($length = 4)
  {
    //从ASCII码中获取
    $captcha = &#39;&#39;;

    //随机取:大写、小写、数字
   for($i = 0;$i < $length; $i++){
     //随机确定是字母还是数字
     switch(mt_rand(1,3)){
         case 1:                //数字:49-57分别代表1-9
             $captcha .= chr(mt_rand(49,57));   
             break;
         case 2:                //小写字母:a-z
             $captcha .= chr(mt_rand(65,90));
             break;
         case 3:                //大写字母:A-Z
             $captcha .= chr(mt_rand(97,122));
             break;
      }
    }
    //返回
   return $captcha; 
   }
   
  echo getString(5);
?>
Copier après la connexion

Recommandé : Tutoriel vidéo php Tutoriel php

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