PHP 生成唯一订单号、唯一ID的方法

在应用软件开发中,经常需要生成一种长度一致并且不能重复的字符串序列或者数字编号ID,来保证一条数据记录的唯一性,比如电商平台中的订单编号、会员系统中的邀请码、激活码等等,这里总结一下在PHP中生成唯一序列的几种方法以及他们的用例和注意事项。

W3CAPI
1
2020-04-25 22:58:25
文档目录
我的书签
 

PHP 使用时间戳和随机数生成唯一订单号和唯一ID

一、第一种方法

md5(time() . mt_rand(1,1000000)); //重复几率非常大,需要配合查表和并发锁

二、第二种方法

date('Ymd') . str_pad(mt_rand(1, 99999), 10, '0', STR_PAD_LEFT).rand(1000,9999); //和第一种方法类似

三、第三种方法

date('Ymd').substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(1000, 9999)); //使用了毫秒,相比较重复率降低很多
友情提示