Home > Backend Development > PHP Problem > how to generate random string in php

how to generate random string in php

autoload
Release: 2023-03-08 19:20:02
Original
4416 people have browsed it

1. Mainly use two functions:

  • chr()

  • mt_rand()

2. Syntax format:

mt_rand() Use the Mersenne Twister algorithm to return a random integer.

mt_rand(min,max)
Copy after login

If the optional parameters min and max are not provided, mt_rand() Returns a pseudo-random number between 0 and RAND_MAX . For example, if you want a random number between 5 and 15 (inclusive), use mt_rand(5, 15). Many old libc random number generators have some uncertain and unknown characteristics and are very slow. PHP's rand() function uses the libc random number generator by default. mt_rand() The function is informally used to replace it. This function uses the known features in Mersenne Twister as a random number generator, which can generate random values ​​​​on average faster than rand() provided by libc Four times faster.

chr()Use an integer within the range of range (256) (that is, 0 to 255) as a parameter and return a corresponding character.

chr(i)
Copy after login

The return value is the ASCII character corresponding to the current integer.

3. Use the above two functions to generate a random string

<?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);
?>
Copy after login

Recommendation: php video tutorial php tutorial

The above is the detailed content of how to generate random string in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template