- 作(zuò)者:admin
- 發表時(shí)間(jiān):2013-07-02 14:17:15
- 來(lái)源:未知
生(shēng)成唯一ID的應用場(chǎng)景非常普遍,如臨時(shí)緩存文件名稱,臨時(shí)變量,臨時(shí)安全碼等,uniqid()函數(shù)基于以微秒(miǎo)計(jì)的當前時(shí)間(jiān),生(shēng)成一個(gè)唯一的 ID。由于生(shēng)成唯一ID與微秒(miǎo)時(shí)間(jiān)關聯,因此ID的唯一性非常可(kě)靠。生(shēng)成的唯一ID默認返回的字符串有(yǒu) 13 個(gè)字符串長,如果不定義唯一ID的前綴,最多(duō)可(kě)返回23個(gè)字符串長,如果再結合md5()函數(shù),生(shēng)成的唯一ID可(kě)靠性将更高(gāo),這種生(shēng)成的ID比随機性的ID 最大(dà)優點在于可(kě)實現排序,特别是一些(xiē)需要存儲在數(shù)據庫中的值。
一,函數(shù)原型
string uniqid ( [string prefix [, bool more_entropy]] )
可(kě)定義唯一ID的前綴與長度
二,版本兼容
PHP 3, PHP 4, PHP 5
三,函數(shù)基礎用法與實例
1,生(shēng)成一個(gè)唯一ID
2,結合md5()函數(shù)生(shēng)成一個(gè)唯一ID
輸出:dfbc5c8c6438de075da28b3c8a413fd0
3,生(shēng)成多(duō)個(gè)唯一ID,由于是以微秒(miǎo)計(jì)
輸出:
4bfd0e375396b
4bfd0e3753981
4bfd0e3753983
由生(shēng)成的結果來(lái)看,唯一ID之間(jiān)具有(yǒu)可(kě)排序性的。
使用uniqid()函數(shù)生(shēng)成唯一ID既能用于生(shēng)成臨時(shí)性ID也能用于生(shēng)成永久性唯一ID(存儲數(shù)據庫),具體(tǐ)請(qǐng)參與PHP手冊。