利用数组随机生成4位验证码

实现原理:

   1. 验证码是26个英文字母和10个数字组成,区分字母大小写。

    2.将26个英文字母和10个数字分别建成数组,然后合并数组,进行统一管理

 使用range()函数进行建立一定范围的数组,再使用array_merge()函数将数组合并成1个

<?php
 $arr1=range('A','Z');//从第一个参数到第二个参数范围的数组range
 $arr2=range('a','z');
 $arr3=range('0','9');
 $arr=array_merge($arr1,$arr2,$arr3);//将数组进行合并索引从0开始+1排序

  3.从合并好的数组中随机抽取4个不相同的数(结构为数组结构)

 $keys=array_rand($arr,4);//4个随机数的数组与rand的区别,不产生重复的字符

4.将$keys进行foreach循环,通过键将对应的值依次输出

5.创建一个空字符串,接收循环后的验证码

<?php
 $zj='';
 foreach ($keys as $val) {
 	$zj=$zj.$arr[$val];
 }
 echo $zj;

完整代码:

<?php
 header('concent-type:text/html;charset=utf-8');
 $arr1=range('A','Z');//从第一个参数到第二个参数范围的数组range
 $arr2=range('a','z');
 $arr3=range('0','9');
 $arr=array_merge($arr1,$arr2,$arr3);//将数组进行合并索引从0开始+1排序

 $keys=array_rand($arr,4);//4个随机数的数组与rand的区别,不产生重复的字符
 $zj='';
 foreach ($keys as $val) {
 	$zj=$zj.$arr[$val];
 }
 echo $zj;
?>

猜你喜欢

转载自blog.csdn.net/qq_41939677/article/details/84030851