生成唯一的id(转)

很多朋友都利用md5()来生成唯一的编号,但是md5()有几个缺点:1、无序,导致数据库中排序性能下降。2、太长,需要更多的存储空间。其实PHP中自带一个函数来生成唯一的id,这个函数就是uniqid()。下面是用法: 
 
Php代码 
  1. // generate unique string  
  2. echo uniqid();  
  3. /* 输出 
  4. 4bd67c947233e 
  5. */  
  6. // generate another unique string  
  7. echo uniqid();  
  8. /* 输出 
  9. 4bd67c9472340 
  10. */  
 
 
该算法是根据CPU时间戳来生成的,所以在相近的时间段内,id前几位是一样的,这也方便id的排序,如果你想更好的避免重复,可以在id前加上前缀,如: 
 
Php代码 
  1. // 前缀  
  2. echo uniqid(‘foo_’);  
  3. /* 输出 
  4. foo_4bd67d6cd8b8f 
  5. */  
  6. // 有更多的熵  
  7. echo uniqid(”,true);  
  8. /* 输出 
  9. 4bd67d6cd8b926.12135106 
  10. */  
  11. // 都有  
  12. echo uniqid(‘bar_’,true);  
  13. /* 输出 
  14. bar_4bd67da367b650.43684647 
  15. */  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值