我创建了一个电子商务网站,在用户系统中,我创建了一个推荐系统,它的工作原理如下 -> 当访问者创建帐户时,将生成该客户的唯一推荐代码。 我担心当我有很多用户时,推荐代码会匹配到。因此,我想创建唯一的推荐代码。
我的创建方法如下:
$referral_code = strtolower(substr($first_name,0,3)).$this->refer_code(3);
public function refer_code($limit){
return substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, $limit);
}
在这里,我从用户名中选取前3个字母和3个随机字母,生成的推荐码如下:
illqhx
但是我的老板说这个很难读懂并且向其他人解释。因此,他希望推荐码只包含数字或者从名字中选取3个字母和3个数字自动生成,保证独一无二,并且限制长度为5或6。
请帮我实现。