tlpking 发表于 2022-7-23 15:50

php语言中简单的唯一ID生成

$ID = 'Id'.date('Ymd') . str_pad(mt_rand(1, 99799), 5, '0', STR_PAD_LEFT);
用于普通的唯一id生成,日期时间加随机数。用于一般系统的唯一id可以。用于大型系统中,这个唯一id就差点意思。大家可以参考一下,改进一下。

爱飞的猫 发表于 2022-7-23 19:15

参考 nano id: https://github.com/hidehalo/nanoid-php

BuWenGuiQi0513 发表于 2022-7-23 19:28

雪花算法,了解下

myxiaowang 发表于 2022-7-23 20:41

UUID 试一试吧

ninanboy 发表于 2022-7-23 23:10

直接数据库执行 select uuid_short(); 生成uuid

sknbs 发表于 2022-7-24 00:27

twitter的雪花算法,还可以考虑到多实例

小迷糊 发表于 2022-8-10 15:52

'id' . date('YmdHis') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8)

这样改一下会不会好点,mt_rand虽然随机概率低了,但是也是有概率存在

tlpking 发表于 2022-8-11 16:30

小迷糊 发表于 2022-8-10 15:52
'id' . date('YmdHis') . substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1)) ...

厉害,思路想法经典
页: [1]
查看完整版本: php语言中简单的唯一ID生成