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

yipeiwu_com6年前PHP代码库

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读取文件内容的几种方法详解

示例代码1: 用file_get_contents 以get方式获取内容复制代码 代码如下:<?php$url='http://www.baidu.com/';$html=file...

PHP 循环删除无限分类子节点的实现代码

复制代码 代码如下:<?php    private  function _deleteSubNode($ids){   ...

PHP加密解密类实例分析

本文实例讲述了PHP加密解密类。分享给大家供大家参考。具体分析如下: 这段代码支持 数组加密 , 密文有效期, 各种对称加密 其中参数如下: * @use ption::en($stri...

PHP单态模式简单用法示例

本文实例讲述了PHP单态模式简单用法。分享给大家供大家参考,具体如下: 单态类就是只能实例化一次的类 <?php /* 作者 : shyhero */ class De...

php文件上传 你真的掌握了吗

php文件上传 你真的掌握了吗

这里首先声明一下这一章的内容比较多,比较难,你要抱着和自己死磕的态度。细微之处不放过,多敲多练是王道。 学习就像爬山,得一步一步来,首先给自己定一个小目标,然后再坚持不懈地往高出攀爬,...