亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

PHP生成唯一ID的四種方法介紹


工作中使用到唯一ID的場(chǎng)景非常多,如臨時(shí)緩存文件、臨時(shí)變量、臨時(shí)安全碼等。

uniqid()函數(shù)基于以微妙計(jì)的當(dāng)前時(shí)間,生成一個(gè)唯一的ID。由于生成唯一ID與微妙時(shí)間關(guān)聯(lián),因此生成ID的唯一性非常可靠。

生成的唯一ID默認(rèn)返回的字符串有13個(gè)字符長(zhǎng),如果再結(jié)合MD5()函數(shù),生成的唯一ID可靠性將更高,這種生成的ID比隨機(jī)性的ID最大優(yōu)點(diǎn)在于可實(shí)現(xiàn)排序,特別是一些需要存儲(chǔ)在數(shù)據(jù)庫(kù)中的值。當(dāng)然在這里也可以加入隨機(jī)數(shù)。

下面主要介紹4種生成唯一ID的方法:

1、MD5

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

注意:這種方法有一定的概率會(huì)出現(xiàn)重復(fù)

2、php內(nèi)置函數(shù)uniqid()

uniqid()函數(shù)基于以微妙的當(dāng)前時(shí)間,生成一個(gè)唯一的ID。

echo uniqid();
echo uniqid();
echo uniqid();
OUTPUT:
   5a4b62dd4aeea
   5a4b62dd4aff7
   5a4b62dd4b069

w3school參考手冊(cè)有一句話:"由于基于系統(tǒng)時(shí)間,通過(guò)該函數(shù)生成的 ID 不是最佳的。如需生成絕對(duì)唯一的 ID,請(qǐng)使用 md5() 函數(shù)"。

3、結(jié)合md5()函數(shù)生成一個(gè)唯一的ID

     echo md5(uniqid());
OUTPUT:
    0ac3d6e99b7f5290c93d730eaf9d7d94

4、手動(dòng)去處理,官方給予的案例

public function create_guid($namespace = '') { 
    static $guid = '';
    $uid = uniqid("", true);
    $data = $namespace;
    $data .= $_SERVER['REQUEST_TIME'];
    $data .= $_SERVER['HTTP_USER_AGENT'];
    $data .= $_SERVER['LOCAL_ADDR'];
    $data .= $_SERVER['LOCAL_PORT'];
    $data .= $_SERVER['REMOTE_ADDR'];
    $data .= $_SERVER['REMOTE_PORT'];
    $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));
    $guid = '{' .
        substr($hash, 0, 8) .
        '-' .
        substr($hash, 8, 4) .
        '-' .
        substr($hash, 12, 4) .
        '-' .
        substr($hash, 16, 4) .
        '-' .
        substr($hash, 20, 12) .
        '}';
    return $guid;
}

返回結(jié)果類似:E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7


分享到:
標(biāo)簽:PHP生成唯一ID 方法介紹
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定