生成惟一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手冊。