php 生成指定个数唯一字符串

/**
 * @param $codeLength   指定要生成的长度
 * @param $codeCount    指定需要的个数
 * @return array    生成字符串的集合
 */
function randomCode($codeLength, $codeCount)
{
    $str1 = '1234567890';
    $str2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $str3 = 'abcdefghijklmnopqrstuvwxyz';
    $arr = [$str1 , $str2 , $str3] ;
//    var_dump($str);die;
    $code_list = array();    // 接收随机数的数组

    // 生产制定个数
    for ($j = 1; $j <= $codeCount; $j++) {
        $code = "";
        for ($i = 1; $i <= $codeLength; $i++) {  // 生成指定位随机数
            $str = implode('',$arr);
//            var_dump($str);die;
            $code .= $str[mt_rand(0, strlen($str) - 1)];
        }
        if (!in_array($code, $code_list)) {
            $code_list[$j] = $code;
        } else {
            $j--;
        }
    }
    return $code_list;
}

// 执行查看结果
$codes = randomCode(4,20);
print_r($codes);

猜你喜欢

转载自blog.csdn.net/weixin_42266757/article/details/80447198