php生成唯一id

2021-06-22 02:46:08 字數 563 閱讀 6085

網上查了下,有很多的方法

1、md5(time() . mt_rand(1,1000000));

這種方法有一定的概率會出現重複

2、php內建函式uniqid()

uniqid() 函式基於以微秒計的當前時間,生成乙個唯一的 id.

w3school參考手冊有一句話:"由於基於系統時間,通過該函式生成的 id 不是最佳的。如需生成絕對唯一的 id,請使用 md5() 函式"。

下面方法返回結果類似:5ddb650f-4389-f4a9-a100-501ef1348872

複製**

**如下:

function uuid() else "

return $uuid; }

}com_create_guid()是php自帶的生成唯一id方法,php5之後貌似已經沒有了。

3、官方uniqid()參考手冊有使用者提供的方法,結果類似:

複製**

**如下:

public function create_guid($namespace = '') ';

return $guid; }

php 生成唯一ID

function guid factor prefix suffix 生成因子 機器毫秒,使用者瀏覽器與作業系統資訊,使用者ip,隨機因子,及自定義 factor 因子 原理 自定義 factor 因子 例如可使用使用者 user id 模組標識 product,order.字首 prefix 可用...

PHP生成唯一ID

php自帶乙個生成唯一id的方法uniqid 我們還可以傳入引數,這個引數作為生成的唯一id的字首,該方法生成的id是基於當前時間微秒數生成的id,保證了id的唯一性。示例 prefix itbsl 說明 string uniqud string prefix bool more entropy f...

PHP生成唯一ID之SnowFlake演算法詳解

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