首页 > 编程 > PHP > 正文

php生成唯一值详解

2019-11-06 08:13:49
字体:
来源:转载
供稿:网友
代码如下:$arr = gettimeofday();$number = ($arr['sec']*100000 + $arr['usec']/10);$tmp = $number & 0x7FFFFFFF;$logId = $tmp | 0x80000000;第一步$arr['sec'] 自Unix 纪元起的秒数 就是 时间戳$arr['usec'] 微秒数一般为6位 例如:815896为815毫秒+896微秒$number 这个值是当前有多少10个微秒第二步$number & 0x7FFFFFFF 运算更快等于$number % (2 ** 31)一: 2 ** 31 = 2的31次方二: 0x7FFFFFFF 十六进制数 对应的十进制 2147483647 对应的二进制 0111 1111 1111 1111 1111 1111 1111 1111 值 2的31次方 -1第三步$tmp | 0x800000000x80000000 十六进制对应的十进制 2147483648对应的二进制 1000 0000 0000 0000 0000 0000 0000 0000值 2的31次方
上一篇:php模拟微信红包

下一篇:PHP 笔记(一)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表