2018年2月2日 星期五

PHP的測試 (3) unique()可以得到比microtime更精準的數字 ?

unique()可以得到比microtime更精準的數字 ?

 
 for($i=0;$i<100;$i++) {
    $a1 = time();
    $a2 = microtime(true);
    $b = uniqid();
  }   
   
1516878379,1516878379.8465,5a69ba2bceabe
1516878379,1516878379.8465,5a69ba2bceacb
1516878379,1516878379.8465,5a69ba2bcead0
1516878379,1516878379.8465,5a69ba2bcead5

看起來好像 microtime() 都相同 unique()不同

但是
for($i=0;$i<100;$i++) {
    //$a = time()+microtime();
    $a1 = time();
    $a2 = microtime();
    $b = uniqid();
}

1516881035,0.98530800 1516881035,5a69c48bf08e6
1516881035,0.98532300 1516881035,5a69c48bf08ee
1516881035,0.98532900 1516881035,5a69c48bf08f3
1516881035,0.98533400 1516881035,5a69c48bf08f8

hexdec(substr($b,-8)) 可以決定大約10位數的數字
hexdec(substr($b,-10)) 可以決定大約12位數的數字

沒有留言:

張貼留言