php的随机验证码,字母和数字的组合,使用循环,随机数。
代码:
<?php
$yuan = '123456789abcdefghigklmnopqrstyvwxyz';
$arr = str_split($yuan);
echo '<pre>';
print_r($arr);
$v_code = '';
for ($i=0; $i<8; $i++){
$pos = mt_rand(0,34);
$v_code .= $arr[$pos];
}
echo $v_code;
效果:
我们可以在图中看到,str_split()
函数将每个字都拆分成数组元素,并且这是个索引数组。使用循环就可以多次执行代码块, mt_rand(0,34)
函数创建从0到34的随机数,并且作为以上数组的下标(键),由此我们可以去出数组中的值,然后我们将其连接给一个变量的话就会产生一个验证码。
2019.6.14 更新
发现并不用将字符串拆分成数组,直接用键就可以取到字符串的值。ok上代码:
<?php
# 创建随机源
$source = 'abcdefghigklmnopqrstyvwxyz123456789';
# 创建验证码容器
$v_code = '';
# 循环6次 得道长度为6的验证码, .= 是 $x = $x.'fdsfds' . 的作用是连接字符串
for ($i=0; $i<6; $i++) $v_code .= $source[mt_rand(0,34)];
echo $v_code;