uuid php 19,生成v4 UUID的PHP函数

生成v4 UUID的PHP函数

因此,我已经做了一些调查,我一直试图拼凑一个函数,以生成一个有效的v4UUID在PHP。这是我能来的最近的一次。我在十六进制、十进制、二进制、PHP的位运算符等方面的知识几乎是不存在的。此函数生成一个有效的v4UUID,直到一个区域。V4 UUID应以下形式出现:xxxxxxx-xxxx-4XXX-yxxx-xxxxxxxxxx

哪里y是8,9,A或B。这是函数失败的地方,因为它不遵守它。

我希望在这方面比我有更多知识的人能帮我忙,帮我解决这个问题,这样它就能遵守这个规则。

职能如下:<?phpfunction  gen_uuid() {

$uuid = array(

'time_low'  => 0,

'time_mid'  => 0,

'time_hi'  => 0,

'clock_seq_hi' => 0,

'clock_seq_low' => 0,

'node'   => array()

);

$uuid['time_low'] = mt_rand(0, 0xffff) + (mt_rand(0, 0xffff) <

$uuid['time_mid'] = mt_rand(0, 0xffff);

$uuid['time_hi'] = (4 <

$uuid['clock_seq_hi'] = (1 <

$uuid['clock_seq_low'] = mt_rand(0, 255);

for ($i = 0; $i 

$uuid['node'][$i] = mt_rand(0, 255);

}

$uuid = sprintf('%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x',

$uuid['time_low'],

$uuid['time_mid'],

$uuid['time_hi'],

$uuid['clock_seq_hi'],

$uuid['clock_seq_low'],

$uuid['node'][0],

$uuid['node'][1],

$uuid['node'][2],

$uuid['node'][3],

$uuid['node'][4],

$uuid['node'][5]

);

return $uuid;}?>

感谢任何能帮我的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值