ホームページ  >  記事  >  バックエンド開発  >  PHP はどのようにして検証コードをランダムに生成できるのでしょうか?

PHP はどのようにして検証コードをランダムに生成できるのでしょうか?

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-13 17:04:392703ブラウズ

この記事では、PHP で確認コードをランダムに生成する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

#

<?php
/*
 * 方法类
 * */
class functions
{
    /**
     * PHP随机生成验证码函数
     *
     * @param array
     * @return  mixed
     */
    function randCode($params = [])
    {
        $num = $params[&#39;num&#39;] ?? 4; //验证码个数
        $isLetter = $params[&#39;isLetter&#39;] ? $params[&#39;isLetter&#39;] : 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 = [&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;0&#39;,&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;,&#39;e&#39;,&#39;f&#39;,&#39;g&#39;,&#39;h&#39;,&#39;i&#39;,
            &#39;j&#39;,&#39;k&#39;,&#39;l&#39;,&#39;m&#39;,&#39;n&#39;,&#39;o&#39;,&#39;p&#39;,&#39;q&#39;,&#39;e&#39;,&#39;s&#39;,&#39;t&#39;,&#39;u&#39;,&#39;v&#39;,&#39;w&#39;,&#39;x&#39;,&#39;y&#39;,&#39;z&#39;,
            &#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;,&#39;5&#39;,&#39;6&#39;,&#39;7&#39;,&#39;8&#39;,&#39;9&#39;,&#39;0&#39;];
            $codeKeys = array_rand($codeArr,$num);
            shuffle($codeKeys);
            foreach ($codeKeys as $codeValue){
                $codeStr .= $codeArr[$codeValue];
            }
            return $codeStr;
        }
    }
}

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

テスト結果は次のとおりです

PHP はどのようにして検証コードをランダムに生成できるのでしょうか?#推奨学習:

php ビデオ チュートリアル

以上がPHP はどのようにして検証コードをランダムに生成できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。