php生成唯一id的應用場景非常普遍,如臨時快取檔名稱,臨時變數,臨時安全碼等,uniqid()函式基於以微秒計的當前時間,生成乙個唯一的 id。由於生成唯一id與微秒時間關聯,因此id的唯一性非常可靠。
生成的唯一id預設返回的字串有 13 個字串長,如果再結合md5()函式,生成的唯一id可靠性將更高,這種生成的id比隨機性的id 最大優點在於可實現排序,特別是一些需要儲存在資料庫中的值。當然在這件也可以加入隨機數。
1、md5(time() . mt_rand(1,1000000));
這種方法有一定的概率會出現重複
2、php內建函式uniqid()
uniqid() 函式基於以微秒計的當前時間,生成乙個唯一的 id.
w3school參考手冊有一句話:"由於基於系統時間,通過該函式生成的 id 不是最佳的。如需生成絕對唯一的 id,請使用 md5() 函式"。
3、結合md5()函式生成乙個唯一id
<?phpecho
md5(uniqid
());
?>輸出:defg5c8c6438de075dajs8b3c8a413fd0
4、手動去處理,官方給予的案例。
publicfunction create_guid($namespace = '') ';
return
$guid; }
返回結果類似:e2dfffb3-571e-6cfc-4b5c-9fedaaf2efd7
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 不是最佳的。...
PHP生成唯一ID
php自帶乙個生成唯一id的方法uniqid 我們還可以傳入引數,這個引數作為生成的唯一id的字首,該方法生成的id是基於當前時間微秒數生成的id,保證了id的唯一性。示例 prefix itbsl 說明 string uniqud string prefix bool more entropy f...