生成惟一ID的应用场景很是广泛,如临时缓存文件名称,临时变量,临时安全码等,uniqid()函数基于以微秒计的当前时间,生成一个惟一的 ID。因为生成惟一ID与微秒时间关联,所以ID的惟一性很是可靠。生成的惟一ID默认返回的字符串有 13 个字符串长,若是不定义惟一ID的前缀,最多可返回23个字符串长,若是再结合md5()函数,生成的惟一ID可靠性将更高,这种生成的ID比随机性的ID 最大优势在于可实现排序,特别是一些须要存储在数据库中的值。php
string uniqid ( [string prefix [, bool more_entropy]] )数据库
可定义惟一ID的前缀与长度缓存
PHP 3, PHP 4, PHP 5安全
1,生成一个惟一ID函数
<?php echo uniqid(); ?>
2,结合md5()函数生成一个惟一IDspa
<?php echo md5(uniqid()); ?>
输出:dfbc5c8c6438de075da28b3c8a413fd0code
3,生成多个惟一ID,因为是以微秒计排序
<?php echo uniqid(); echo uniqid(); echo uniqid(); ?>
输出:md5
4bfd0e375396b字符串
4bfd0e3753981
4bfd0e3753983
由生成的结果来看,惟一ID之间具备可排序性的。
使用uniqid()函数生成惟一ID既能用于生成临时性ID也能用于生成永久性惟一ID(存储数据库),具体请参与PHP手册。