PHP

【PHP】PHP生成随机 数,字符串

小破孩
2022-06-21 / 0 评论 / 98 阅读 / 正在检测是否收录...
    /**
     * @Author:小破孩
     * @Time: 2020/7/15 17:39
     * @param string $length 默认10
     * @return string
     * @Description:生成数字和字母混合的邀请码
     */
    function setCode($length='10'){
        $key='';
        $pattern = ['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','r','s','t','u','v','w','x','y','z'];
        for($i=0;$i<$length;$i++)
        {
            $key .= $pattern[mt_rand(0,35)];    //生成php随机数
        }
        return $key;
    }

  // 生成随机字符串
    private function randomString($len = 32)
    {
        $string = '';
        $char = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
        for ($i = 0; $i < $len; $i++) {
            $string .= $char[mt_rand(0, strlen($char) - 1)];
        }
        return $string;
    }
    const MINIWORD = ['a','b','c','d','e','f','g','h','k','m','n','p','q','r','t','w','x','y','z'];//'l',,'i','j','s','o','u','v'
    const NUMS     = ['2', '3',  '5', '6', '7', '8', '9'];//'4', '1','0',
    
    /**
     * Author: 小破孩
     * Email: 3584685883@qq.com
     * Time: 2021/12/29 10:26
     * @param int $length
     * @return string
     * Description:核销码
     */
    public function setVerificationCode(int $length = 4):string {
        $dictionary =array_merge(self::MINIWORD,self::NUMS);
        shuffle($dictionary);
        $codeArrKey = array_rand($dictionary,$length);
        $code = '';
        for($i = 0; $i < count($codeArrKey); $i++){
            $code .= $dictionary[$i];
        }
        return $code;
    }

        /**
     * Author: 小破孩
     * Email: 3584685883@qq.com
     * Time: 2021/12/29 10:16
     * @param int $length default 6
     * @return int
     * Description:设置验证码
     */
    public function setSmsCode(int $length = 6):int {
        if($length == 6){
            return mt_rand(100000,999999);
        }
        return mt_rand(1000,9999);
    }
0

评论 (0)

取消