生成唯一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...