PHP中生成UUID自定義函數(shù)分享
UUID 全稱是 Universally unique identifier,它是一種識別符,使用任意的計(jì)算機(jī)都可以生成,不需要一個(gè)中央數(shù)據(jù)庫進(jìn)行管理,即可以保證幾乎沒有重復(fù)的幾率。而 UUID 的值域之大,據(jù)說給世界上每一粒沙子分配一個(gè) UUID,也不會有重復(fù)的。
最近在改 WordPress 的代碼,需要用到 UUID。但是,PHP 中居然沒有生成 UUID 的函數(shù),只好自己寫一個(gè)。
if (!function_exists('com_create_guid')) { function com_create_guid() { return sprintf( '%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0x0fff ) | 0x4000, mt_rand( 0, 0x3fff ) | 0x8000, mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ), mt_rand( 0, 0xffff ) ); } }
上述代碼可以生成一個(gè) UUID version 4。UUID 目前有 5 個(gè)版本,其中第四版是完全隨機(jī)的,生成起來比較容易。而其中的 com_create_guid,是 Windows 中 PHP 的一個(gè)函數(shù),它直接調(diào)用 COM 的 CreateGuid 函數(shù)來生成 UUID,但是在 Linux 沒有對應(yīng)的函數(shù)庫,只好自己寫了。為了方便在不同的平臺上使用,就創(chuàng)建了一個(gè)同名的函數(shù)。其它的代碼就是生成隨機(jī)數(shù)了。
至于用法,就直接調(diào)用 com_create_guid() 即可。
- PHP框架Laravel中使用UUID實(shí)現(xiàn)數(shù)據(jù)分表操作示例
- Mysql中存儲UUID去除橫線的方法
- Shell腳本實(shí)現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)
- master and slave have equal MySQL server UUIDs 解決方法
- spring boot整合mybatis利用Mysql實(shí)現(xiàn)主鍵UUID的方法
- 用JS生成UUID的方法實(shí)例
- Javascript生成全局唯一標(biāo)識符(GUID,UUID)的方法
- java實(shí)現(xiàn)隨機(jī)生成UUID
- 詳解php中生成標(biāo)準(zhǔn)uuid(guid)的方法
相關(guān)文章
將word轉(zhuǎn)化為swf 如同百度文庫般閱讀實(shí)現(xiàn)思路及代碼
一般流程想將word轉(zhuǎn)化為pdf格式,再將pdf格式轉(zhuǎn)化為swf格式。在網(wǎng)頁上顯示其實(shí)都是swf格式內(nèi)容,具體實(shí)現(xiàn)如下,有此需求的朋友可以參考下,希望對大家有所幫助2013-08-08php中使用__autoload()自動(dòng)加載未定義類的實(shí)現(xiàn)代碼
當(dāng)PHP引擎遇到未實(shí)例化的類時(shí)就會觸發(fā)這個(gè)方法,當(dāng)然你的php代碼中要用到__autoload()才可以哦2013-02-02深入理解PHP原理之Session Gc的一個(gè)小概率Notice
PHP Notice: session_start(): ps_files_cleanup_dir2011-04-04php在服務(wù)器執(zhí)行exec命令失敗的解決方法
出于安全的原因,服務(wù)器是不允許php或者其他語言執(zhí)行exec命令的,當(dāng)你有特殊需要php在服務(wù)器執(zhí)行exec命令時(shí),你需要設(shè)置兩個(gè)地方,不然就無法執(zhí)行成功2012-03-03