Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php生成唯一标识符的函数

php生成唯一标识符的函数

发布时间:2014-11-14   编辑:www.jquerycn.cn
某些场景下,可能需要生成一个唯一的字符串。

某些场景下,可能需要生成一个唯一的字符串。
我看到很多人使用 md5() 函数,即使它并不完全意味着这个目的:
 

复制代码 代码如下:

// generate unique string
echo md5(time() . mt_rand(1,1000000));

There is actually a PHP function named uniqid() that is meant to be used for this.

// generate unique string
echo uniqid();
/* prints
4bd67c947233e
*/

// generate another unique string
echo uniqid();
/* prints
4bd67c9472340
*/

你可能会注意到,尽管字符串是唯一的,前几个字符却是类似的,这是因为生成的字符串与服务器时间相关。
但实际上也存在友好的一方面,由于每个新生成的 ID 会按字母顺序排列,这样排序就变得很简单。
为了减少重复的概率,你可以传递一个前缀,或第二个参数来增加:
 

复制代码 代码如下:

// with prefix
echo uniqid('foo_');
/* prints
foo_4bd67d6cd8b8f
*/

// with more entropy
echo uniqid('',true);
/* prints
4bd67d6cd8b926.12135106
*/

// both
echo uniqid('bar_',true);
/* prints
bar_4bd67da367b650.43684647
*/

这个函数将产生比 md5() 更短的字符串,节省一些空间。

您可能感兴趣的文章:
php生成唯一标识符的代码
PHP生成唯一标识符的示例代码
php实现生成不重复的唯一标识符
PHP生成唯一ID
php自动生成不重复的id
PHP uniqid() 函数
php生成唯一标识符的函数
php生成GUID(全球唯一标识符)方法解析
使用php生成局部唯一识别码LUID的方法
php生成全球唯一标识符guid的算法示例

关键词: 唯一标识符   
[关闭]