📅  最后修改于: 2023-12-03 14:51:04.082000             🧑  作者: Mango
在 PHP 中创建 GUID 是一种常见的操作,GUID 是全局唯一标识符,用于标识对象、会话、事务等。
启用 com
扩展,使用 com_create_guid()
函数即可生成一个 GUID。
$guid = com_create_guid();
echo $guid; // 输出类似 "{BE3F377B-6AEE-4191-9A25-081C909B4803}" 的 GUID
需要注意的是,在非 Windows 系统中该函数可能无法使用。另外,生成的 GUID 长度为 38,包含两个左右大括号和 32 个字符。
使用 uniqid()
函数能够快速生成一个唯一的 ID,可以将它作为 GUID,但需要稍加处理。
$prefix = uniqid('', true);
$guid = str_replace('.', '', $prefix);
echo $guid; // 输出类似 "5e5bff4d2bfaa8" 的 GUID
这里使用了 uniqid()
函数的第二个参数使其不带有前缀,然后通过 str_replace()
函数去除中间的小数点。
如果运行环境中已经集成了 Composer 包管理器,可以使用第三方包来生成 GUID。
例如,使用 ramsey/uuid
这个包来生成 GUID 非常简单。
use Ramsey\Uuid\Uuid;
$guid = Uuid::uuid4()->toString();
echo $guid; // 输出类似 "ebb58395-33fd-4c48-a24e-1d32f3f79b6d" 的 GUID
使用这种方法能够生成符合标准的 UUID,比较推荐。
以上介绍了三种在 PHP 中生成 GUID 的方法,其中第一种方法 com_create_guid()
可能在某些环境下无法使用,另外两种方法分别可以生成长度为 15 和 36 的 GUID。
我个人比较推崇使用 Ramsey UUID 这个包生成标准的 UUID,它非常好用。