欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂淺談如何使用php生成唯一ID的4種方法

2017-11-23 10:38:42 1416瀏覽

         php生成唯一ID的應(yīng)用場景非常普遍,如臨時(shí)緩存文件名稱,臨時(shí)變量,臨時(shí)安全碼等,uniqid()函數(shù)基于以微秒計(jì)的當(dāng)前時(shí)間,生成一個唯一的 ID。由于生成唯一ID與微秒時(shí)間關(guān)聯(lián),因此ID的唯一性非常可靠。


         生成的唯一ID默認(rèn)返回的字符串有 13 個字符串長,如果再結(jié)合md5()函數(shù),生成的唯一ID可靠性將更高,這種生成的ID比隨機(jī)性的ID 最大優(yōu)點(diǎn)在于可實(shí)現(xiàn)排序,特別是一些需要存儲在數(shù)據(jù)庫中的值。當(dāng)然在這件也可以加入隨機(jī)數(shù)。還是手動的去處理生成唯一的id比較的好點(diǎn),盡量降低生成id的重復(fù)概率。下面主要介紹4種生成唯一ID的方法,供大家參考。



         1、md5(time() . mt_rand(1,1000000)),這種方法有一定的概率會出現(xiàn)重復(fù)。


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


         uniqid() 函數(shù)基于以微秒計(jì)的當(dāng)前時(shí)間,生成一個唯一的 ID.


         1php


         2echo uniqid();


         3echo uniqid();


         4echo uniqid();


         5?>


         6輸出:

         4bfd0e375396b

         4bfd0e3753981

         4bfd0e3753983


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


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


         1php


         2echo md5(uniqid());


         3?>


         4輸出:dfbc5c8c6438de075da28b3c8a413fd0


         4、手動去處理,官方給予的案例。


         01public function create_guid($namespace = '') {


         02 static $guid = '';


        03 $uid = uniqid("", true);


        04 $data = $namespace;


        05 $data .= $_SERVER['REQUEST_TIME'];


        06 $data .= $_SERVER['HTTP_USER_AGENT'];


        07 $data .= $_SERVER['LOCAL_ADDR'];


        08 $data .= $_SERVER['LOCAL_PORT'];


         09 $data .= $_SERVER['REMOTE_ADDR'];


         10 $data .= $_SERVER['REMOTE_PORT'];


         11 $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));


         12 $guid = '{' .


         13 substr($hash, 0, 8) .


         14 '-' .


         15 substr($hash, 8, 4) .


         16 '-' .


         17 substr($hash, 12, 4) .


         18 '-' .


         19 substr($hash, 16, 4) .


         20 '-' .


         21 substr($hash, 20, 12) .


         22 '}';


         23 return $guid;


         24 }


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


         以上就是扣丁學(xué)堂淺談淺談如何使用php生成唯一ID的4種方法的詳細(xì)介紹,最后想要學(xué)習(xí)PHP開發(fā)技術(shù)的小伙伴不要猶豫了,扣丁學(xué)堂是你學(xué)習(xí)PHP培訓(xùn)的最佳選擇,想要PHP視頻教程的小伙伴現(xiàn)在就聯(lián)系我們的咨詢老師領(lǐng)取吧,機(jī)會總是留給有準(zhǔn)備的人的! 扣丁學(xué)堂PHP技術(shù)交流群:374332265。



【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】

【關(guān)注微信公眾號免費(fèi)領(lǐng)取丁豆獲取更多學(xué)習(xí)資料】



查看更多關(guān)于“php培訓(xùn)資訊的相關(guān)文章>>

標(biāo)簽: PHP開發(fā)工程師 php視頻教程 php培訓(xùn)

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部