使用MySQL的PHP​​中的Guid / Uuid

时间:2009-08-27 03:27:16

标签: php mysql

我想将uuids作为BINARY(16)存储在数据库中,但我需要接受它们并将它们显示为XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX格式。在我跳转到PHP代码中的guid之前(这很有趣!),是否有任何库或函数可以开箱即用?

2 个答案:

答案 0 :(得分:5)

您可以先使用Replace()删除破折号 然后使用Unhex()

执行HEX(str)的逆操作。也就是说,它将参数中的每对十六进制数字解释为数字,并将其转换为数字表示的字符。

答案 1 :(得分:0)

你不是指BINARY(36)而不是BINARY(16)

尝试http://pecl.php.net/package/uuid

CakePHP为uuids提供了一些简洁的功能,它可以根据我的理解自动为CHAR(36)和BINARY(36)工作。无论哪种方式,你都可以深入挖掘源代码,看看它是否具有你需要的东西。

编辑:这是一个独立的类,可以生成并转换为您可能需要的几乎任何格式:http://www.shapeshifter.se/2008/09/29/uuid-generator-for-php/我在下面的评论中发布了这个,但希望确保其他用户可以轻松看到该链接