使用php生成唯一ID的4種方法

2021-08-14 06:58:21 字數 1014 閱讀 2090

php生成唯一id的應用場景非常普遍,如臨時快取檔名稱,臨時變數,臨時安全碼等,uniqid()函式基於以微妙計的當前時間,生成乙個唯一的id。由於生成唯一id與微妙時間關聯,因此生成id的唯一性非常可靠。

生成的唯一id預設返回的字串有13個字元長,如果再結合md5()函式,生成的唯一id可靠性將更高,這種生成的id比隨機性的id最大優點在於可實現排序,特別是一些需要儲存在資料庫中的值。當然在這裡也可以加入隨機數。

下面主要介紹4種生成唯一id的方法:

1. md5(time().mt_rand(1,1000000))

//這種方法有一定的概率會出現重複

2. php內建函式uniqid()

uniqid()函式基於以微妙的當前時間,生成乙個唯一的id。

echo uniqid();

echo uniqid();

echo uniqid();

output

: 5a4b62dd4aeea

5a4b62dd4aff7

5a4b62dd4b069

w3school參考手冊有一句話:"由於基於系統時間,通過該函式生成的 id 不是最佳的。如需生成絕對唯一的 id,請使用 md5() 函式"。

3. 結合md5()函式生成乙個唯一的id

echo md5(uniqid());

output

: 0ac3d6e99b7f5290c93d730eaf9d7d94

4. 手動去處理,官方給予的案例

public

function

create_guid

($namespace = '') ';

return

$guid;

}返回結果類似:e2dfffb3-571e-6cfc-4b5c-9fedaaf2efd7

如何使用php生成唯一ID的4種方法

php生成唯一id的應用場景非常普遍,如臨時快取檔名稱,臨時變數,臨時安全碼等,uniqid 函式基於以微秒計的當前時間,生成乙個唯一的 id。由於生成唯一id與微秒時間關聯,因此id的唯一性非常可靠。生成的唯一id預設返回的字串有 13 個字串長,如果再結合md5 函式,生成的唯一id可靠性將更高...

php 生成唯一ID

function guid factor prefix suffix 生成因子 機器毫秒,使用者瀏覽器與作業系統資訊,使用者ip,隨機因子,及自定義 factor 因子 原理 自定義 factor 因子 例如可使用使用者 user id 模組標識 product,order.字首 prefix 可用...

php生成唯一id

網上查了下,有很多的方法 1 md5 time mt rand 1,1000000 這種方法有一定的概率會出現重複 2 php內建函式uniqid uniqid 函式基於以微秒計的當前時間,生成乙個唯一的 id.w3school參考手冊有一句話 由於基於系統時間,通過該函式生成的 id 不是最佳的。...