thinkphp5怎么同时生成1000个激活码然后记录到数据库中?

做优惠券,需要我创建优惠券时候系统自动生成指定发行的票数,然后自动生成唯一激活码不会重复,再新增到数据库中。我查了百度,很多都是以本机信息或者时间。不适合用,求大神方法!

阅读 2.5k
1 个回答
# 佛主保佑也没用, 创建时查询缓存是否存在, 存在则重新生成

# runtime缓存
$cd_keys = array();

function generate_key(){
    $key = 创建key();
    if(isset($cd_keys[$key]){
        return generate_key();
    }
    return $key;
}

function thousand_keys(){
    $keys = array();
    for( $=1000; $i--; ){
        $key = generate_key();
        $cd_keys[$key] = 1; // 标记存在
        $keys[] = $key;
    }
    return $keys;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题