background image

PHP 生成随机字符串的两种办法

通常情况下,生成一个随机字符串,总是先创建一个字符池,然后用一个循环和

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

第二种办法:无需创建字符池

代码如下:

function randomkeys($length)

   {

        $output='';

        for ($a = 0; $a < $length; $a++) {

            $output .= chr(mt_rand(35, 126));    //生成 php 随机数

        }

        return $output;

    }

echo randomkeys(8);