PHP 生成UUID的方法

本文介绍了一个PHP函数实现,用于在没有com_create_guid函数的情况下生成全局唯一UUID标识。通过使用mt_srand、uniqid、md5和chr等内置函数,该函数能够生成符合UUID规范的字符串。
 1 public function guid(){
 2     //检测是否存在函数
 3     if (function_exists('com_create_guid')){
 4         //创建全局唯一UUID标识.
 5         return com_create_guid();
 6     } else {
 7         //随机数生成器. php4.2.0以上版本支持.
 8         mt_srand((double)microtime() * 10000);
 9         //基于以微秒计的当前时间,生成一个唯一的 ID
10         $unid = uniqid(rand(), true);
11         //将字符串转换为大写.
12         $charid = strtoupper(md5$unid ));
13         // 从指定的 ASCII 值返回字符 "-"
14         $hyphen = chr(45);
15         // 从指定的 ASCII 值返回字符 "{"
16         $uuid = chr(123).substr($charid, 0, 8)
17                 .$hyphen.substr($charid, 8, 4)
18                 .$hyphen.substr($charid,12, 4)
19                 .$hyphen.substr($charid,16, 4)
20                 .$hyphen.substr($charid,20,12)
21                 .chr(125);// 从指定的 ASCII 值返回字符 "}"
22         return $uuid;
23     }
24 }

 

转载于:https://www.cnblogs.com/mcqueen/p/4029775.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值