當前位置:才華齋>計算機>php語言>

PHP中生成UUID自定義函式分享

php語言 閱讀(1.54W)

文章主要介紹了PHP中生成UUID自定義函式分享,本文提供的程式碼可以生成一個 UUID version 4,,需要的朋友可以參考下。

PHP中生成UUID自定義函式分享

UUID 全稱是 Universally unique identifier,它是一種識別符,使用任意的計算機都可以生成,不需要一箇中央資料庫進行管理,即可以保證幾乎沒有重複的機率。而 UUID 的值域之大,據說給世界上每一粒沙子分配一個 UUID,也不會有重複的。

最近在改 WordPress 的`程式碼,需要用到 UUID。但是,PHP 中居然沒有生成 UUID 的函式,只好自己寫一個。

?

1

2

3

4

5

6

7

8

9

10

11

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 個版本,其中第四版是完全隨機的,生成起來比較容易。而其中的 com_create_guid,是 Windows 中 PHP 的一個函式,它直接呼叫 COM 的 CreateGuid 函式來生成 UUID,但是在 Linux 沒有對應的函式庫,只好自己寫了。為了方便在不同的平臺上使用,就建立了一個同名的函式。其它的程式碼就是生成隨機數了。

至於用法,就直接呼叫 com_create_guid() 即可。