建码函数

/*
*建码函数,使用方法:CreateCoupon ("id",code_length,repaircode_length)
*功能:生成带唯一标识的伪随机码
*$newid:int 唯一标识符
*$newcodelen:int 第一段码值长度
*$newdisrepairlen:int 第二段码值长度
*/
function CreateCoupon($newid, $newcodelen, $newdisrepairlen)
{
    $codelen = $newcodelen;
    $id = $newid;
    $disrepairlen = $newdisrepairlen;
    $charset0 = 'abcdABCDefghjkEFGHKmnpqMNPRSTrstuUVWXYZlvwxyz23456789';//第一段随机码字符集,数字1,0与字母I,l,O过于形似,字符集中排除了这些字符
    $charset = 'AaBbCcDdEeFfGgHhKkMmNnPpRrSsTtUuVvWwXxYyZz';//补齐码值的字符集,ID为10进制,字符集中不能出现数字[0-9],否则最终的字符串可能出现重复(尽管前半段与后半段同时重复的概率很低)
    $_len = strlen($charset0) - 1;//字符集最大序号
    $coupon = "";//创建随机码变量
    //创建一个随机码,每一位都随机一次
    for ($i = 0; $i < $codelen; $i++) {
        $coupon .= $charset0[mt_rand(0, $_len)];
    }
    $nid = DispRepair($id, $newdisrepairlen, $charset, "0");//调用补位函数补齐特征字符串,防止券码出现重复,非1为后补
    $coupon .= $nid;//组装成完整的随机码
    return $coupon;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值