php随机输出模板,php随机生成字符串一些方法总结

前面有讲过生成随机密码,下面我再来给大家介绍一些常用的生成随机字符串的函数吧,这些都是我们自定义的函数,当然也有系统自带函数了,不过都比较简单了。

mt_rand函数,实例例子代码如下,在本例中,我们会返回一些随机数:

echo(mt_rand());

echo(mt_rand());

echo(mt_rand(10,100));

?>

//输出类似:

3150906288

513289678

35

下面我们来看看mt_rand函数的实例吧,代码如下:

functionroll () {

returnmt_rand(1,6);

}

echoroll();

functionroll ($sides) {

returnmt_rand(1,$sides);

}

echoroll(6);// roll a six-sided die

echoroll(10);// roll a ten-sided die

echoroll(20);// roll a twenty-sided die

上面都只能生成简单的纯数字,不能是字母或数字与字母的,下面我们需用到自定义函数了,代码如下:

functiongenRandomString($len) {

$chars=array(

"a","b","c","d","e","f","g","h","i","j","k",

"l","m","n","o","p","q","r","s","t","u","v",

"w","x","y","z","A","B","C","D","E","F","G",

"H","I","J","K","L","M","N","O","P","Q","R",

"S","T","U","V","W","X","Y","Z","0","1","2",

"3","4","5","6","7","8","9"

);

$charsLen=count($chars) - 1;

shuffle($chars);// 将数组打乱

$output="";

for($i=0;$i

$output.=$chars[mt_rand(0,$charsLen)];

}

return$output;

}

$str= genRandomString(25);

$str.="

";

$str.= genRandomString(25);

$str.="

";

$str.= genRandomString(25);

$str.="

";

echo$str;

?>

程序输出如下:

DmLVAmDkEJz8wHXRCNwzvANlB

BILZSA19YyuSVcR17KrrZsOKO

inlWlQF0GSabN3l589y9s16Gg

下面是一个小实例,默认生成的随机字符串长度为5,生成的字符串包含:数字+大写字母,函数功能:

1、生成指定长度的随机字符串

2、灵活选择生成的随机字符串的复杂度

代码如下:

/**

+----------------------------------------------------------

* 生成随机字符串

+----------------------------------------------------------

* @param int       $length  要生成的随机字符串长度

* @param string    $type    随机码类型:0,数字+大写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符

+----------------------------------------------------------

* @return string

+----------------------------------------------------------

*/

functionrandCode($length= 5,$type= 0) {

$arr=array(1 =>"0123456789", 2 =>"abcdefghijklmnopqrstuvwxyz", 3 =>"ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 =>"~@#$%^&*(){}[]|");

if($type== 0) {

array_pop($arr);

$string= implode(",",$arr);

} elseif($type=="-1") {

$string= implode(",",$arr);

} else{

$string=$arr[$type];

}

$count=strlen($string) - 1;

for($i= 0;$i

$str[$i] =$string[rand(0,$count)];

$code.=$str[$i];

}

return$code;

}

另一个小实例:

1、预置一个的字符数组 $chars,包括 a – z,A – Z,0 – 9,以及一些特殊字符

2、通过array_rand()从数组 $chars 中随机选出 $length 个元素.

3、根据已获取的键名数组 $keys,从数组 $chars 取出字符拼接字符串。该方法的缺点是相同的字符不会重复取.

代码如下:

functionmake_password($length= 8 )

{

// 密码字符集,可任意添加你需要的字符

$chars=array('a','b','c','d','e','f','g','h',

'i','j','k','l','m','n','o','p','q','r','s',

't','u','v','w','x','y','z','A','B','C','D',

'E','F','G','H','I','J','K','L','M','N','O',

'P','Q','R','S','T','U','V','W','X','Y','Z',

'0','1','2','3','4','5','6','7','8','9','!',

'@','#','$','%','^','&','*','(',')','-','_',

'[',']','{','}','','~','`','+','=',',',

'.',';',':','/','?','|');

// 在 $chars 中随机取 $length 个数组元素键名

$keys=array_rand($chars,$length);

$password='';

for($i= 0;$i

{

// 将 $length 个数组元素连接成字符串

$password.=$chars[$keys[$i]];

}

return$password;

}

(责任编辑:admin)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值