有没有办法在PHP中将GUID转换为UUID?
我的GUID这种格式有没有办法在PHP中将GUID转换为UUID?
2k9E4A8DFpFFYsfNkKz5fnx61Ry2xAoO
另一个例子:
MI5kvu_WGg3MLB4l18UG4oJ63a1H8uF_
但我需要他们在这个格式:
4a9209bd-9252-4914-01a3-24c283062394
有没有办法将它们转换在PHP?你将如何将它们转换回来(从UUID到GUID)?
快速ñ脏功能把你的原件并将其捏造成所需要的图案
$guid='2k9E4A8DFpFFYsfNkKz5fnx61Ry2xAoO';
function makeuuid($g){
$a=array(
substr($g,0,8),
substr($g,8,4),
substr($g,12,4),
substr($g,16,4),
substr($g,20,strlen($g))
);
return implode('-',$a);
}
echo makeuuid($guid);
/* outputs: 2k9E4A8D-FpFF-YsfN-kKz5-fnx61Ry2xAoO */
[在其规范形式中,UUID由32个小写十六进制数字表示](https://en.wikipedia.org/wiki/Universally_unique_identifier#Definition) – Finwe
因此,如果我们要在上面使用strtolower()代码,是否可以解决问题并获得正确的结果? –
噢,我看到了,因为GUID具有非十六进制字符,此脚本不起作用。 –
他们只是字符串。仅仅因为他们是指导并不能让他们神奇地变得不同。使用[字符串函数](http://php.net/manual/en/ref.strings.php)。 –
@MarcB字节顺序是不同的https://en.wikipedia.org/wiki/Globally_unique_identifier#Binary_encoding所以它们不只是一个字符串。 –
什么字节顺序? 'oO'不完全是一个有效的十六进制数字。 OP有什么是一个字符串。 –