PHP 杂项函数

PHP uniqid() 函数用于根据当前时间(以微秒为单位)生成带前缀的唯一标识符。

注意:该函数不保证返回值的唯一性。由于大多数系统通过NTP等方式调整系统时钟,系统时间不断变化。因此,该函数可能不会返回进程/线程的唯一 ID。 more_entropy 参数用于增加唯一性的可能性。

语法

uniqid(prefix, more_entropy) 

参数

prefix可选。 指定唯一 ID 的前缀。例如,如果您在多个主机上同时生成标识符,而这些主机可能恰好在同一微秒生成标识符,那么它会很有用。
more_entropy 可选。 如果设置为 true,此函数将在返回值末尾添加额外的熵,这会增加结果唯一的可能性。如果前缀为空,则返回的字符串长度为 13 个字符。如果 more_entropy 为 true,则长度为 23 个字符。

返回值

返回基于时间戳的值字符串形式的唯一标识符。

示例:uniqid() 示例

下面的示例显示了 uniqid() 函数的用法。

<?php
//使用不带任何参数的uniqid()函数
echo uniqid()."\n";

//使用前缀参数和返回值
//将相当于prefix.uniqid()
echo uniqid("php_")."\n";

//使用more_entropy参数,这将添加额外的
//返回值和返回值末尾的熵
//值的长度为23个字符
echo uniqid("", true)."\n";

//同时使用 prefix 和 more_entropy 参数
echo uniqid("php_", true)."\n";
?> 

上述代码的输出将类似于:

65aba9fe2edc3
php_65aba9fe2edd5
65aba9fe2edd69.52948572
php_65aba9fe2eed40.47654928