PHP中生成UUID自定义函数分享


Posted in PHP onJune 10, 2015

UUID 全称是 Universally unique identifier,它是一种识别符,使用任意的计算机都可以生成,不需要一个中央数据库进行管理,即可以保证几乎没有重复的几率。而 UUID 的值域之大,据说给世界上每一粒沙子分配一个 UUID,也不会有重复的。

最近在改 WordPress 的代码,需要用到 UUID。但是,PHP 中居然没有生成 UUID 的函数,只好自己写一个。

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() 即可。

PHP 相关文章推荐
随机头像PHP版
Oct 09 PHP
最简单的PHP程序--记数器
Oct 09 PHP
php 数学运算验证码实现代码
Oct 11 PHP
php下利用curl判断远程文件是否存在的实现代码
Oct 08 PHP
PHP中读写文件实现代码
Oct 20 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
浅谈php命令行用法
Feb 04 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
php json相关函数用法示例
Mar 28 PHP
php使用for语句输出三角形的方法
Jun 09 #PHP
php生成图片验证码
Jun 09 #PHP
php判断用户是否手机访问代码
Jun 08 #PHP
浅谈PHP中Stream(流)
Jun 08 #PHP
php实现有趣的人品测试程序实例
Jun 08 #PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 #PHP
php查询whois信息的方法
Jun 08 #PHP
You might like
十大“创意”战术!
2020/03/04 星际争霸
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php 删除记录实现代码
2009/03/12 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
PHP如何将XML转成数组
2016/04/04 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
Laravel find in set排序实例
2019/10/09 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
PHP实现递归的三种方法
2020/07/04 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
多个iframe自动调整大小的问题
2006/09/18 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
BootStrap无限级分类(无限极分类封装版)
2016/08/26 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
Python使用pandas处理CSV文件的实例讲解
2018/06/22 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
django formset实现数据表的批量操作的示例代码
2019/12/06 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
出生公证委托书
2014/04/03 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
廉洁自律个人总结
2015/02/14 职场文书
公司人事任命通知
2015/04/20 职场文书