最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

简单几行PHP代码实现通用唯一识别码(UUID)效果

来源:http://erdangjiade.com/php/8565.html 沐浴春风 2018-08-02 18:07浏览(1167)

最近项目用到的UUID,它是通用唯一识别码(Universally Unique Identifier)的缩写。目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。这样的话,每个人都可以创建不与其它人冲突的UUID,于是就不需考虑数据库创建时的名称重复问题。

0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。 在线 充值

简单几行PHP代码实现通用唯一识别码(UUID)效果
分类:PHP > 函数 难易:中级
查看演示 下载资源: 45

加我微信,拉你进VIP群学习:

下载资源 下载积分: 60 积分

UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32=2^128,约等于3.4 x 10^38。也就是说若每纳秒产生1兆个UUID,要花100亿年才会将所有UUID用完。UUID重复几率非常非常低,是故大可不必考虑重复冲突的问题。 像Java和Python都有专门库函数生成UUID,PHP也有第三方库可以用来生成UUID。 安装

我们使用composer来安装uuid库。 composer require ramsey/uuid 使用 首先require自动加载文件,然后直接调用UUID方法。

require 'vendor/autoload.php';

use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;

try {

    // Generate a version 1 (time-based) UUID object
    $uuid1 = Uuid::uuid1();
    echo $uuid1->toString() . "\n"; // i.e. e4eaaaf2-d142-11e1-b3e4-080027620cdd

    // Generate a version 3 (name-based and hashed with MD5) UUID object
    $uuid3 = Uuid::uuid3(Uuid::NAMESPACE_DNS, 'helloweba.net');
    echo $uuid3->toString() . "\n"; // i.e. 11a38b9a-b3da-360f-9353-a5a725514269

    // Generate a version 4 (random) UUID object
    $uuid4 = Uuid::uuid4();
    echo $uuid4->toString() . "\n"; // i.e. 25769c6c-d34d-4bfe-ba98-e0ee856f3e7a

    // Generate a version 5 (name-based and hashed with SHA1) UUID object
    $uuid5 = Uuid::uuid5(Uuid::NAMESPACE_DNS, 'helloweba.net');
    echo $uuid5->toString() . "\n"; // i.e. c4a760a8-dbcf-5254-a0d9-6a4474bd1b62

} catch (UnsatisfiedDependencyException $e) {

    // Some dependency was not met. Either the method cannot be called on a
    // 32-bit system, or it can, but it relies on Moontoast\Math to be present.
    echo 'Caught exception: ' . $e->getMessage() . "\n";

}

UUID有4个版本的算法,根据需求可以采用不同的算法。UUID可以用在产品序列号、拼接路径、服务器上的图片/文件名称、甚至订单号等。

声明:本文为原创文章,如需转载,请注明来源erdangjiade.com并保留原文链接:https://www.erdangjiade.com/php/8565.html
评论8
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

  • 头像 7楼
    10-19 12:30
    kkmllj2
    看着不错学习一下
  • 头像 6楼
    04-23 09:09
    tian0922
    势不可使尽,福不可享尽。
  • 头像 5楼
    11-16 18:31
    ray5566
    感謝大大的分享
  • 头像 4楼
    11-13 17:45
    A~就是你
    学习了刚好这两天需要。
  • 头像 3楼
    10-19 17:32
    re3wq
    学习了。。。。。。
  • 头像 板凳
    09-05 19:40
    xaoluo123
    看着不错完了学习
  • 头像 椅子
    08-09 15:44
    fantlam
    学习一下。。。
  • 头像 沙发
    08-06 19:21
    ngu137
    功能不错。。。
1 2