Rumah > pembangunan bahagian belakang > masalah PHP > 如何在php中生成随机字符串

如何在php中生成随机字符串

autoload
Lepaskan: 2023-03-08 19:20:02
asal
4415 orang telah melayarinya

1.主要利用了两个函数:

  • chr()

  • mt_rand()

2.语法格式:

    mt_rand() 使用 Mersenne Twister 算法返回随机整数。

mt_rand(min,max)
Salin selepas log masuk

如果没有提供可选参数 min maxmt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。

chr()用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

chr(i)
Salin selepas log masuk

返回值是当前整数对应的 ASCII 字符。

3.利用上述两个函数,生成随机字符串

<?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);
?>
Salin selepas log masuk

推荐:php视频教程 php教程

Atas ialah kandungan terperinci 如何在php中生成随机字符串. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan