关键在于create_uuid和create_guid方法

<?php/*** 单例模式: 获取uuid或者guid*/
class GetUUID
{// uuidprivate $uuid;// 容器private static $instance;/*** 获取实例*/public static function getInstance(){if (!(self::$instance instanceof self)) {self::$instance = new self();}return self::$instance;}/*** 输出uuid* @param  string $type   [uuid|guid]* @param  string $prefix [前缀]* @return [type]         [description]*/public function get($type = 'uuid', $prefix = ''){$action = 'create_' . $type;self::$instance->$action();return $prefix . $this->uuid;}/*** 生成uuid*/private function create_uuid(){$chars = md5(uniqid(mt_rand(), true));$hyphen = chr(45);$this->uuid = substr($chars, 0, 8). $hyphen. substr($chars, 8, 4). $hyphen. substr($chars, 12, 4). $hyphen. substr($chars, 16, 4). $hyphen. substr($chars, 20, 12);}/*** 生成guid*/private function create_guid(){$charid = strtoupper(md5(uniqid(mt_rand(), true)));$hyphen = chr(45);$this->uuid = substr($charid, 6, 2). substr($charid, 4, 2). substr($charid, 2, 2). substr($charid, 0, 2). $hyphen. substr($charid, 10, 2). substr($charid, 8, 2). $hyphen. substr($charid,14, 2). substr($charid,12, 2). $hyphen. substr($charid,16, 4). $hyphen. substr($charid,20,12);}/*** 构造方法私有化,防止外部创建实例*/private function __construct() {}/*** 克隆方法私有化,防止复制实例*/private function __clone() {}
}echo GetUUID::getInstance()->get();
echo "\n";
echo GetUUID::getInstance()->get('guid');
echo "\n";
echo GetUUID::getInstance()->get('uuid', 'aaaa');// 74e58975-1a06-90ab-0d64-e9b55bfd03ec
// F2F03E4C-C1E8-D2EF-2306-7410955F857B
// aaaa2cf1daaa-f4f5-03e0-c98f-47f0e1dc9316

php之生成uuid和guid相关推荐

  1. JS生成UUID(GUID)

    JS生成UUID(GUID) JS生成UUID(GUID) 方法1:替换方式 方法2:系统crypto.randomUUID() 注意 安装TS 方法3:uuid模块安装 使用 JS生成UUID(GU ...

  2. MYSQL 生成UUID() 即 ORACLE 中的guid()函数

    MYSQL 生成UUID 即 guid 函数 -- 带 - 的UUID select UUID() -- 去掉 - 的UUID select replace(uuid(),'-','') 转载于:ht ...

  3. php中生成标准uuid(guid)的方法

    <?php UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台 会提供生成UUID的API.UUID按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡 ...

  4. java uuid fasterxml_可笑!可悲!可叹!你竟然还不知道Java如何生成UUID?

    一个调皮的读者在之前我写的"我去"系列文章里留言调侃说,"二哥,你是无中生小王吗?"不不不,其实真不是的,小王是真实存在的,他一直和我并肩作战,不辞辛劳,让我既 ...

  5. JS生成 UUID的四种方法

    全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) . GUID是一种由算法生成的二进制长度 ...

  6. 新增对象时生成uuid传递到数据库_技术译文 | UUID 很火但性能不佳?今天我们细聊一聊...

    作者:Yves Trudeau Yves 是 Percona 的首席架构师,专门研究分布式技术,例如 MySQL Cluster,Pacemaker 和 XtraDB cluster.他以前是 MyS ...

  7. java 生成uuid

    1.UUID 简介 UUID 含义是通用唯一识别码 (Universally Unique Identifier),这是一个软件建构的标准. 也是被开源软件基金会 (Open Software Fou ...

  8. JAVA生成UUID并作为数据库表的ID

    在接触UUID之前,我建表用的ID一直是用的int型,然后自动增长,这样很方便. 但是这样做却有一些问题,因为数据量大的话,不可能只用一张表,而是几张表,这样会出现id重复,于是有了UUID. UUI ...

  9. 可笑,你竟然不知道 Java 如何生成 UUID

    先看再点赞,给自己一点思考的时间,微信搜索[沉默王二]关注这个靠才华苟且的程序员. 本文 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章. ...

最新文章

  1. 使用 spring 的 IOC 解决程序耦合——获取spring的Ioc核心容器,并根据id获取对象、核心容器的两个接口(ApplicationContext、BeanFactory)引发出的问题
  2. sed文本处理常见用法
  3. oracle查看字典结构体,Oracle-17-数据字典查看约束信息
  4. 第十周软件工程作业-每周例行报告
  5. win10固态硬盘分区 整数_惠普HP笔记本Win10改Win7系统教程
  6. 如何将Android Studio卸载的干干净净?
  7. 【PDF】处理pdf 文档的相关功能包总结
  8. linux-centos连网
  9. (2)MyBatis简介
  10. Python中文编程
  11. java题库组卷系统_基于java的题库管理系统.doc
  12. 市场上硬杠,技术上死磕,华为如何跨越操作系统黑洞
  13. Apple Pay接入详细教程
  14. 【免费】各种hadoop版本对应的hadoop.dll和winutils.exe
  15. ADW_Launcher
  16. IP数据报首部的格式:关于标识(identification)、标志(flag)和片偏移
  17. 生产制造追溯系统-再说条码打印
  18. 台币 日元 没有小数位问题_SAP刘梦_新浪博客
  19. 爬虫那些事-网页爬虫设计思路
  20. php选择栏可输入可选择,填制凭证时,“科目名称”栏可选择用下列()方法输入。...

热门文章

  1. 【WebApp】单页webapp应用开发总结【暂完】
  2. 银河麒麟V10 wireguard 编译
  3. Postgresql BRIN索引
  4. 《ffmpeg入门学习》 六 java把多个图片合成视频,并添加图片水印
  5. electron播放本地任意格式的视频
  6. Python程序打包库—pyinstaller的安装
  7. while函数用法 matlab,Matlab(七)while循环的使用
  8. VINS学习03——使用Realense_D435i运行Vins_Fusion
  9. 【毕业设计】垃圾邮件(短信)分类算法研究与实现 - 机器学习
  10. JAVA毕业设计web家教信息服务平台设计与实现计算机源码+lw文档+系统+调试部署+数据库