Chinaunix
标题:
请教PHP-5.4中的microtime()问题
[打印本页]
作者:
hard2enroll
时间:
2015-09-14 08:49
标题:
请教PHP-5.4中的microtime()问题
下面一段测试代码:
<?php
$arr=array();
$startTime=microtime(true);
for($i=0;$i<1000;$i++){
list($usec,$sec)=explode(' ',microtime());
$mtime=$sec.'.'.((float)$usec)*1000000;
array_push($arr,$mtime);
}
printf('%.6f<BR>',microtime(true)-$startTime);
echo count($arr),':',count(array_unique($arr));
?>
复制代码
在php-5.2运行,可以得到1000个不同的数据。
在php-5.4运行,时间差经常为0。不为0时比5.2多花4倍时间,但得到的数据不超过三个。
说明:
1,系统是Win32(2000-sp2/XP-sp3)。php版本是5.2.17/5.4.44/5.4.45。
2,换了5.4以后,发现mt_rand()总是得到重复数据,然后发现了microtime()的这个问题。
3,哪位在FreeBSD版本测试过?本来打算都升级到5.4的。
作者:
hard2enroll
时间:
2015-09-14 08:51
抱歉,把2003-sp2写成了2000-sp2。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2