生成唯一的ID

来源:互联网 发布:网络安全法是为了维护 编辑:程序博客网 时间:2024/06/03 01:37
uniqid() 返回一个带前缀的唯一标识基于当前时间精确到微秒。
只是说基于当前时间,但是没有说明与当前时间的关系如何。
echo uniqid();可以看到uniqid始终是一个不断变化的长度为13的十六进制数。
<?php
echo hexdec(uniqid())/(time()+microtime());
?>
输出基本上在1048576左右。
可以断定,uniqid就是当前时间精确到微秒再乘以1048576(2的20次幂)最后转换为十六进制得到的。
知道uniqid与time的关系后uniqid就可以有更广泛的用途了,比如用文本论坛可以用uniqid作为帖子的文件名。

做在帖子索引中,可以很方便的按时间查找帖子。


提示和注释

注释:由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数(请在字符串函数参考中查找)。


原创粉丝点击