可能重复:
PHP: How to generate a random, unique, alphanumeric string?
我想为随机长度[4-6]个字符生成随机令牌[字母数字] 有人可以帮忙吗?
答案 0 :(得分:9)
答案 1 :(得分:4)
首先,你可以得到10 + 26 + 26 = 62 6次之间的随机数,然后计算得到的字符串,这看起来很容易。
<?php
function ()
{
$letters={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,10}
return array_rand($letters).array_rand($letters)......... // you get the point
?>
答案 2 :(得分:2)
或者如果您更喜欢“硬”的方式......
$len = random(4,6);
$token = array();
for ($i = 0; $i < $len; $i++) {
$ord = 0;
switch(random(1,3)) {
case 1: // 0 - 9
$ord = random(48,57);
break;
case 2: // A - Z
$ord = random(65,90);
break;
case 3: // a - z
$ord = random(97,112);
break;
}
$token[] = chr($ord);
}