• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

php使用mr_rand生成 随机字符串

武飞扬头像
shaobingj126
帮助3667

通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。

本文将以两种方法介绍生成随机字符串的办法。

第一种办法是要创建字符池。

第二种办法甚至省去了创建字符池的创建。

function randomkeys($length)
{
   $pattern = '1234567890abcdefghijklmnopqrstuvwxyz
               ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
              t;>?;#:@~[]{}-_= )(*&^%$£!';    //字符池
  for($i=0; $i<$length; $i  )
   {
       $key .= $pattern{mt_rand(0,35)};    //生成php随机数
   }
   return $key;
}
echo randomkeys(8);

这个php随机函数能生成XC*=z~7L这样的字符串,够随机!

现在介绍另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。

function randomkeys($length)
{
    $output='';
    for($a = 0; $a < $length; $a  )
    {
        $output .= chr(mt_rand(33, 126));    //生成php随机数
    }
    return $output;
}
echo randomkeys(8);

在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。查看ascii码表就会发现,33到126代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/taneebj
系列文章
更多 icon
同类精品
更多 icon
继续加载