Php 创建一个唯一的对话号码
我正在使用一个私人消息系统,我想分配一个唯一的对话号码,以便识别是否有多个用户参与同一个对话。我正在考虑分配发送消息的人的用户ID+Php 创建一个唯一的对话号码,php,mysql,sql,Php,Mysql,Sql,我正在使用一个私人消息系统,我想分配一个唯一的对话号码,以便识别是否有多个用户参与同一个对话。我正在考虑分配发送消息的人的用户ID+microtime(),如下所示: $conversation_number = md5($_POST['user_id']+microtime()); 该代码是否总是产生一个唯一的号码,或者也可能意外地为后续消息生成相同的号码?您可以使用,它用于生成唯一的ID。您可以使用,用于生成唯一ID。为什么不使用该函数?为什么不使用该函数?我认为phpuniqid就足够
microtime()
,如下所示:
$conversation_number = md5($_POST['user_id']+microtime());
该代码是否总是产生一个唯一的号码,或者也可能意外地为后续消息生成相同的号码?您可以使用,它用于生成唯一的ID。您可以使用,用于生成唯一ID。为什么不使用该函数?为什么不使用该函数?我认为php
uniqid
就足够了
来自PHP文档
如果设置为TRUE,uniqid()将在返回值的末尾添加额外的熵(使用组合线性同余生成器),这将增加结果唯一的可能性
试一试
然而,在
md5
中,32位十六进制值(16^32)中大约有3.402823669209387e+38个不同的值。你的几率非常小,仍然会有一个重复的我认为phpuniqid
就足够了
来自PHP文档
如果设置为TRUE,uniqid()将在返回值的末尾添加额外的熵(使用组合线性同余生成器),这将增加结果唯一的可能性
试一试
然而,在
md5
中,32位十六进制值(16^32)中大约有3.402823669209387e+38个不同的值,你的几率非常小,会有一个重复的值。尽管如此你回答得非常快,但我认为Baba的解释非常好,所有答案都是正确的!我应该如何决定接受哪一个?有指导方针吗?;-)@马蒂亚:我认为这没有规则,只要接受你喜欢的答案:)好吧,你有将近40000。。。我相信你不会生气的……谢谢;-)你的回答真的很快,但我认为爸爸的解释真的很好,所有的答案都是正确的!我应该如何决定接受哪一个?有指导方针吗?;-)@马蒂亚:我认为这没有规则,只要接受你喜欢的答案:)好吧,你有将近40000。。。我相信你不会生气的……谢谢;-)
uniqid('id', true)