PHP中生成UUID自定義函數(shù)分享
UUID 全稱是 Universally unique identifier,它是一種識別符,使用任意的計算機(jī)都可以生成,不需要一個中央數(shù)據(jù)庫進(jìn)行管理,即可以保證幾乎沒有重復(fù)的幾率。而 UUID 的值域之大,據(jù)說給世界上每一粒沙子分配一個 UUID,也不會有重復(fù)的。
最近在改 WordPress 的代碼,需要用到 UUID。但是,PHP 中居然沒有生成 UUID 的函數(shù),只好自己寫一個。
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 )
);
}
}
上述代碼可以生成一個 UUID version 4。UUID 目前有 5 個版本,其中第四版是完全隨機(jī)的,生成起來比較容易。而其中的 com_create_guid,是 Windows 中 PHP 的一個函數(shù),它直接調(diào)用 COM 的 CreateGuid 函數(shù)來生成 UUID,但是在 Linux 沒有對應(yīng)的函數(shù)庫,只好自己寫了。為了方便在不同的平臺上使用,就創(chuàng)建了一個同名的函數(shù)。其它的代碼就是生成隨機(jī)數(shù)了。
至于用法,就直接調(diào)用 com_create_guid() 即可。
- PHP框架Laravel中使用UUID實現(xiàn)數(shù)據(jù)分表操作示例
- Mysql中存儲UUID去除橫線的方法
- Shell腳本實現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)
- master and slave have equal MySQL server UUIDs 解決方法
- spring boot整合mybatis利用Mysql實現(xiàn)主鍵UUID的方法
- 用JS生成UUID的方法實例
- Javascript生成全局唯一標(biāo)識符(GUID,UUID)的方法
- java實現(xiàn)隨機(jī)生成UUID
- 詳解php中生成標(biāo)準(zhǔn)uuid(guid)的方法
相關(guān)文章
PHP 使用Echarts生成數(shù)據(jù)統(tǒng)計報表的實現(xiàn)代碼
這篇文章主要介紹了PHP 使用Echarts生成數(shù)據(jù)統(tǒng)計報表的實現(xiàn)代碼,需要的朋友可以參考下2018-01-01
dirname(__FILE__)的含義和應(yīng)用說明
這篇文章主要介紹了dirname(__FILE__)的含義和應(yīng)用說明,需要的朋友可以參考下2018-03-03
PHP數(shù)組函數(shù)array_multisort()用法實例分析
這篇文章主要介紹了PHP數(shù)組函數(shù)array_multisort()用法,結(jié)合實例形式詳細(xì)分析了array_multisort函數(shù)的功能,定義及進(jìn)行數(shù)組排序過程中的使用技巧,需要的朋友可以參考下2016-04-04
PHP中fwrite與file_put_contents性能測試代碼
這里測試的是往文件中寫一百萬行記錄,如果數(shù)據(jù)量很小,比如1000條左右的記錄,可能差距不大2013-08-08
php使用memcoder將視頻轉(zhuǎn)成mp4格式的方法
這篇文章主要介紹了php使用memcoder將視頻轉(zhuǎn)成mp4格式的方法,涉及php操作視頻文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03

