zoukankan      html  css  js  c++  java
  • PHP_制作验证码

    PHP制作一个验证码,主要使用数组相关函数

     1 <?php
     2     header("content-type:text/html;charset=UTF-8");
     3     //建立3个范围数组
     4     $shuzi = range(0,9);
     5     $zimuda = range('A','Z');
     6     $zimuxiao = range('a','z ');
     7 
     8     //将这3个数组合并成新数组
     9     $arr=array_merge($shuzi,$zimuxiao,$zimuda);
    10 
    11     //遍历新数组
    12     foreach ($arr as $key => $value) {
    13         //如果新数组里的元素包含下面的字,则将其删除(unset);
    14         if($value == '0' || $value == '1' ||$value == '2' ||$value == 'o'  ||$value == 'O' 
    15             ||$value == 'I' ||$value == 'i' ||$value == 'Z' ||$value == 'z' ||$value == 'l'){
    16             //删除键,值也随之删除
    17             unset ($arr[$key]);
    18             }
    19         }
    20 
    21     //将数组 元素打乱,其KEY值跟随元素被打乱
    22     shuffle($arr);
    23     //随机取出原数组的4个key值
    24     $arr_rand = array_rand($arr,4);
    25     //将原数组的key遍历输出,得到4个随机验证码
    26     foreach ($arr_rand as $value) {
    27         echo $arr[$value];
    28     }
    29 
    30     //优化一下:0,1,2这3个数原本就需要排除,刚好在数组最前、连续,在定义范围数组的时候可以不写,直接从3开始,减少if判断;大小写字母Z在最后也可以不写
  • 相关阅读:
    test
    VS dll 引用依赖
    Git配置
    编码--文字输入的前因后果
    base64相关
    异或
    UNION / UNION ALL 区别
    数据库使用规范
    chrome插件开发学习(一)
    缓存穿透 缓存雪崩 缓存并发
  • 原文地址:https://www.cnblogs.com/bk233/p/7278927.html
Copyright © 2011-2022 走看看