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
autoloadoriginal
2021-03-17 15:14:454448parcourir

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)

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)

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

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!

Déclaration:
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