我的网站有一个部分,为每个帖子生成一个唯一的ID,然后将其发送到数据库。问题是生成的ID总长度为16个字符,我需要id只有6个字符。
这是用于生成ID的代码:
$order_id = uniqid(rand(10,1000), false);
我有什么方法可以完成这样的改变吗?
答案 0 :(得分:20)
为什么不在数据库中使用auto_incremental执行此操作?所以第一个id是1,然后是2,依此类推。如果您只需要6位数,这将导致999 999个不同的键。
之前接受的答案,使用substr()
从uniqid()
获取前6个字符,并非100%安全。 uniqid
将生成唯一ID,其中WHOLE ID将是唯一的。删除这些字符可能会导致重复。