微秒数重复的可能性不大,况且你后面还有随机数,如果你不确定还可以增加usleep(1)等待下。但如果服务器修改时间你就没法保证微秒数不重复了。

解决方案 »

  1.   

    time()+随即3未数+(随机3位数+1)这样应该不会重复了....时间戳每天+3位随机数+后面的随即数+i或者 . 随机数2+time()+随机数4
      

  2.   

    for($i=0;$i<10;$i++){
             
             //echo $this->microtime_float();
             echo $time = microtime();
             $arr = explode(" ",$time);
             $micro = $arr[0]*100000000;
             $micro_str = substr($micro."",0,6);
             $timestamp = $arr[1];
             echo "\t".$timestamp."".$micro_str;
             echo '<br>';
         }
      

  3.   

    现在的CPU速度太快了,微秒是有可能重复的
      

  4.   

    建议用DB来生成这种唯一ID号,
    DB的验证和锁机制等比较完善,
    真正用的时候必然是走这种模式,自己再实现一个自增ID 不是不行,而是有太多意外
      

  5.   

    PHP uniqid() 函数 吧,能满足你的需求http://www.w3school.com.cn/php/func_misc_uniqid.asp