程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中利用uniqid() 函數生成唯一的id

php中利用uniqid() 函數生成唯一的id

編輯:關於PHP編程

php中利用uniqid() 函數生成唯一的id


function createId($prefix = "")
{
    $str = md5(uniqid(mt_rand(), true));
    return $prefix . $str;
}

//
uniqid(prefix,more_entropy)

uniqid() 函數基於以微秒計的當前時間,生成一個唯一的 ID。   prefix 可選。為 ID 規定前綴。如果兩個腳本恰好在相同的微秒生成 ID,該參數很有用。 more_entropy 可選。規定位於返回值末尾的更多的熵。   如果 prefix 參數為空,則返回的字符串有 13 個字符串長。如果 more_entropy 參數設置為 true,則是 23 個字符串長。 如果 more_entropy 參數設置為 true,則在返回值的末尾添加額外的熵(使用組合線形同余數生成程序),這樣可以結果的唯一性更好。   返回值 以字符串的形式返回唯一標識符。   提示和注釋 注釋:由於基於系統時間,通過該函數生成的 ID 不是最佳的。如需生成絕對唯一的 ID,請使用 md5() 函數(請在字符串函數參考中查找)   // mt_rand() 使用 Mersenne Twister 算法返回隨機整數。 mt_rand(min,max)   說明 如果沒有提供可選參數 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之間的偽隨機數。例如想要 5 到 15(包括 5 和 15)之間的隨機數,用 mt_rand(5, 15)。 很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數默認使用 libc 隨機數發生器。mt_rand() 函數是非正式用來替換它的。該函數用了 Mersenne Twister 中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved