php如何能随机生成验证码

醉折花枝作酒筹
醉折花枝作酒筹转载
2023-03-09 17:06:012214浏览

本篇文章给大家介绍一下php随机生成验证码的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

<?php
/*
 * 方法类
 * */
class functions
{
    /**
     * PHP随机生成验证码函数
     *
     * @param array
     * @return  mixed
     */
    function randCode($params = [])
    {
        $num = $params['num'] ?? 4; //验证码个数
        $isLetter = $params['isLetter'] ? $params['isLetter'] : 1; //1是纯数字 2是字母和数字的组合

        if($isLetter==1){
            for($i=1;$i<=$num;$i++){
                $codeMin.=0;
                $codeMax.=9;
            }
            return rand($codeMin,$codeMax);
        }

        if($isLetter==2){
            //如果想调整权重,自己可以根据需求修改$codeArr这个一位数组
            $codeArr = ['1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i',
            'j','k','l','m','n','o','p','q','e','s','t','u','v','w','x','y','z',
            '1','2','3','4','5','6','7','8','9','0'];
            $codeKeys = array_rand($codeArr,$num);
            shuffle($codeKeys);
            foreach ($codeKeys as $codeValue){
                $codeStr .= $codeArr[$codeValue];
            }
            return $codeStr;
        }
    }
}

//测试生成验证码方法
$re = (new functions())->randCode([
    'num'      => 6, //需要的个数
    'isLetter' => 2, //1是纯数字 2是数字加字符串
]);
print_r($re);

测试结果如下

在这里插入图片描述

推荐学习:php视频教程

以上就是php如何能随机生成验证码的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除