RELATEED CONSULTING
相關咨詢
選擇下列産品馬上(shàng)在線溝通(tōng)
服務時(shí)間(jiān):9:00-18:00
你(nǐ)可(kě)能遇到了下面的問題
關閉右側工具欄
采用PHP函數(shù)uniqid生(shēng)成一個(gè)唯一的ID
  • 作(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手冊。