认真生活、快乐工作 - 马云

懒惰象生锈一样,比操劳更能消耗身体。

------ 根据用户id生成与之对应的唯一邀请码,范围为‘0-9A-Z’。这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到不小的提升。
< – . – >

具体实现代码如下:

public function mycode(){$code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';$rand = $code[rand(0,25)].strtoupper(dechex(date('m'))).date('d').substr(time(),-5).substr(microtime(),2,6).sprintf('%02d',rand(0,99));for($a = md5( $rand, true ),$s = '0123456789ABCDEFGHIJKLMNOPQRSTUV',$d = '',$f = 0;$f < 6;$g = ord( $a[ $f ] ),$d .= $s[ ( $g ^ ord( $a[ $f + 5 ] ) ) - $g & 0x1F ],$f++);return $d;}

经测试,基本不重复。如果高并发会出现极个别的重复。
可以通过查询数据库是否存在来避免

// 连接数据库
require_once ('vendor/joshcam/mysqli-database-class/MysqliDb.php');
$db = new MysqliDb (Array ('host' => '127.0.0.1','username' => 'root','password' => '123456','db'=> 'test','port' => 3306,'prefix' => '','charset' => 'utf8'));$code = create_invite_code();$r = true;
while($r) {$db->where("code", $code);$r = $db->has("table_code");if ($r) {$code = create_invite_code();}
}echo $code;

如果存在,就重新生成一个,直到不重复,再保存。

其他生成唯一订单号方式:在tp6框架中的app/common.php文件中定义一个订单号方法

//生成订单号
function xn_create_order_no()
{$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');$orderSn = $yCode[intval(date('Y')) - 2020] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));return $orderSn;
}

以上就是生成随机唯一推荐码的功能,有不对的地方可以下方评论或私我,多多益善。最后不妨给俺点个赞呗·

php生成随机唯一推荐码/邀请码/优惠码 固定长度相关推荐

  1. Hive中生成随机唯一标识ID的方法

    2019独角兽企业重金招聘Python工程师标准>>> HIVE中处理的数据往往比较多,在处理数据的时候希望给处理得到的数据一个ID标识,这时候可以用到UUID. UUID的算法的核 ...

  2. 双11,当当图书大放价,专属200-30优惠码免费送

    机械工业出版社华章公司联合当当网特意为[过往记忆大数据]用户申请了一批可与满减叠加使用的"满200减30"的图书优惠码. ▶ 超 值 购 书 优 惠 码 ◀ 当当20周年庆百万图书 ...

  3. 2018年最新bluehost主机(中文站)购买教程,送30%优惠码!

    Bluehost是一家老牌的美国主机商,行业经验达18年,以稳定性强,速度快著称,是国内使用较多主机之一,在个人站长中的口碑.使用流行度都很高.作为电子商务首选主机的BlueHost主机也深受国内外贸 ...

  4. 当当 “书香节” | 每满100减50! 优惠码再减30!170元买400块的书!

    世界读书日 阅读丈量世界 当当网计算机图书大促 全场五折 每满100减50! 每满100减50! 满200减100!   机械工业出版社华章公司联合当当网特意为用户申请了一批可与满减叠加使用的&quo ...

  5. 出版社给了些当当网计算机图书特优惠码

    当当网计算机图书 每满100减50! 每满200减100! 每满400减200! 满600减300! 机械工业出版社华章公司联合当当网特意为[Java乐园]用户申请了一批可与满减叠加使用的" ...

  6. 2011年godaddy优惠码信息集锦

    godaddy优惠码 godaddy 优惠码 2011年 主机优惠码空间优惠码 godaddy域名优惠码 godaddyssl优惠码 续费优惠码 godaddy注册教程 godaddy 优惠码大餐来啦 ...

  7. 全类目,优惠码活动400减230明天最后

    1024程序员节 当当网计算机图书 每满100减50! 满200减100! 满300-150! 机械工业出版社华章公司联合当当网特意为[Java乐园]用户申请了一批可与满减叠加使用的"满20 ...

  8. godaddy最新优惠码

    godaddy上注册的域名快要到期,去续费找了好长时间没有找到几个可以用的优惠码.从一个网友的博客中发现了这个优惠码.高达35%哟.值得收藏的优惠码.发到博客,大家一起使用吧. 我知道博客园里面有很多 ...

  9. mysql 生成邀请码_如何实现用户id生成一个唯一邀请码

    根据用户id生成与之对应的唯一邀请码,范围为'0-9A-Z'.这个需求的重点在于加粗的部分,也就是要能够根据邀请码反推出用户ID,这样邀请码就不用入库了,在用户量很大的情况下,性能可以得到不小的提升. ...

最新文章

  1. mysql语句添加索引
  2. BZOJ 2244 [SDOI2011]拦截导弹 (三维偏序CDQ+线段树)
  3. u-boot移植随笔:System.map文件格式
  4. mongodb objectid java_我可以确定字符串是否是MongoDB ObjectID吗?
  5. python执行mysql存储过程_Mysql学习---使用Python执行存储过程
  6. 使用ASP.NET MVC Futures 中的异步Action 【转】
  7. JAVA 编码格式转换工具类
  8. 第一届数据库***大赛(欢迎大家共同讨论,发表自己的见解)
  9. linux2t硬盘格式化时间,Linux运维知识:linux下大于2T硬盘格式化方法
  10. 2020京东双十一【全民营业,瓜分十亿】自动做任务软件
  11. Framebuffer子系统【转】
  12. WebRTC市场价值到2026年将达到550亿美元
  13. shell命令:打印除第一列外所有列
  14. layui动态添加的表单元素显示异常
  15. POJ - 1651 Multiplication Puzzle (区间dp)
  16. 【学习笔记】IGMP snooping原理
  17. JAVA SE File下面的方法
  18. 制造业大数据分析解决方案,助力生产效率提升
  19. 计算机等级考试心得体会,计算机等级考试心得体会(2)
  20. “差生”,不要再拿兴趣说事

热门文章

  1. 【Redash 官方文档】查询-创建和编辑查询
  2. SRCNN-基于深度学习的图像超分入门
  3. 校园无线广播-河北赵县职业中心校园无线广播系统方案
  4. 2019-ICPC沈阳重现 L-Flowers 二分答案 +抽屉原理
  5. 【UEFI实战】Project Mu简介
  6. RabbitMQ web服务忘记用户名和密码的解决方案
  7. 关于2013.12大数据课题的计划
  8. 失效模式及影响分析FMEA-5T
  9. RK硬件设计之PMU—RK808 VDC管脚巧妙应用
  10. 隆云通土壤温湿、EC、PH、氮磷钾传感器