PHP中生成UUID自定义函数分享
UUID全称是Universallyuniqueidentifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而UUID的值域之大,据说给世界上每一粒沙子分配一个UUID,也不会有重复的。
最近在改WordPress的代码,需要用到UUID。但是,PHP中居然没有生成UUID的函数,只好自己写一个。
if(!function_exists('com_create_guid')){ functioncom_create_guid(){ returnsprintf('%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) ); } }
上述代码可以生成一个UUIDversion4。UUID目前有5个版本,其中第四版是完全随机的,生成起来比较容易。而其中的com_create_guid,是Windows中PHP的一个函数,它直接调用COM的CreateGuid函数来生成UUID,但是在Linux没有对应的函数库,只好自己写了。为了方便在不同的平台上使用,就创建了一个同名的函数。其它的代码就是生成随机数了。
至于用法,就直接调用com_create_guid()即可。