PHP生成唯一ID

2021-08-03 15:15:19 字數 737 閱讀 2600

php自帶乙個生成唯一id的方法uniqid(),我們還可以傳入引數,這個引數作為生成的唯一id的字首,該方法生成的id是基於當前時間微秒數生成的id,保證了id的唯一性。

示例:

$prefix = "itbsl";

說明:

string uniqud([

string

$prefix=""

[,bool $more_entropy

=false

]])

獲取乙個帶字首、基於當前時間微秒數的唯一id。

引數prefix

有用的引數。例如:如果在多台主機上可能在同一微秒生成唯一id。

prefix為空,則返回的字串長度為13。more_entropy為true,則返回的字串長度為23。

more_entropy

如果設定為true,uniqid()會在返回的字串結尾增加額外的熵(使用combined linear congruential generator)。使得唯一id更具唯一性。建議在使用該函式是設定為true

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之SnowFlake演算法詳解

snowflake演算法是個啥?首先我來提出個問題,怎麼在分布式系統中生成唯一性id並保持該id大致自增?在twitter中這是最重要的業務場景,於是twitter推出了一種snowflake演算法。前言 最近需要做一套cms系統,由於功能比較單一,而且要求靈活,所以放棄了wp這樣的成熟系統,自己做...