1.主要利用了两个函数:
chr()
mt_rand()
2.语法格式:
mt_rand()使用 Mersenne Twister算法返回随机整数。
mt_rand(min,max)
如果没有提供可选参数 min和 max,mt_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)
返回值是当前整数对应的ASCII 字符。
3.利用上述两个函数,生成随机字符串
function getString($length = 4)
{
//从ASCII码中获取
$captcha = '';
//随机取:大写、小写、数字
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);
?>
推荐:php视频教程 php教程