採用PHP函式uniqid生成乙個唯一的ID

2021-06-27 14:58:40 字數 974 閱讀 9281

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

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

一,函式原型

string uniqid ( [string prefix [, bool more_entropy]] )

可定義唯一id的字首與長度

二,版本相容

php 3, php 4, php 5

三,函式基礎用法與例項

1,生成乙個唯一id

<?php

echo uniqid();  

?>

2,結合md5()函式生成乙個唯一id

<?php

echo md5(uniqid());  

?>

輸出:dfbc5c8c6438de075da28b3c8a413fd0

3,生成多個唯一id,由於是以微秒計

<?php

echo uniqid();  

echo uniqid();  

echo uniqid();  

?>

輸出:

4bfd0e375396b

4bfd0e3753981

4bfd0e3753983

由生成的結果來看,唯一id之間具有可排序性的。

使用uniqid()函式生成唯一id既能用於生成臨時性id也能用於生成永久性唯一id(儲存資料庫),具體請參與php手冊。

採用PHP函式uniqid生成乙個唯一的ID

php內建函式研究系列第七期,採用php函式uniqid生成乙個唯一的id,主要討論uniqid 函式的作用和用法。生成唯一id的應用場景非常普遍,如臨時快取檔名稱,臨時變數,臨時安全碼等,uniqid 函式基於以微秒計的當前時間,生成乙個唯一的 id。由於生成唯一id與微秒時間關聯,因此id的唯一...

採用PHP函式uniqid生成乙個唯一的ID

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

使用uniqid生成唯一id

uniqid prefix more entropy false echo uniqid 55a3c0380d5c4 基於系統時間 其實就是一堆時間的十六進製制。前八位是秒的十六進製制,後5位是微妙的十六進製制。開啟php原始碼包,在ext standard uniqid.c中會發現有這麼一段 if...