手机
当前位置:查字典教程网 >编程开发 >php教程 >php microtime获取浮点的时间戳
php microtime获取浮点的时间戳
摘要:一直以来用这个函数获取:复制代码代码如下:functionmicrotime_float(){list($usec,$sec)=explod...

一直以来用这个函数获取:

复制代码 代码如下:

function microtime_float(){

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

看到别人的源码中用microtime(true),查了下手册,原来从PHP 5.0.0 开始,microtime增加了这个参数。

引用

复制代码 代码如下:

mixed microtime ( [bool get_as_float] )

microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。

如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。

如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。

注意: get_as_float 参数是 PHP 5.0.0 新加的。

如果程序肯定在PHP5以上的环境运行,那么就直接使用microtime(true)吧,比使用microtime_float函数至少快两倍。以下是我简单测试的程序代码。

复制代码 代码如下:

<?php

function microtime_float3(){

return microtime(true);

}

function microtime_float2(){

if( PHP_VERSION > 5){

return microtime(true);

}else{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

}

function microtime_float(){

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

function runtime($t1){

return number_format((microtime_float() - $t1)*1000, 4).'ms';

}

$t1 = microtime_float();

for($i=0;$i<10000;$i++){

microtime_float();

}

echo "microtime_float=====";

echo runtime($t1).'<br>';

$t1 = microtime(true);

for($i=0;$i<10000;$i++){

microtime(true);

}

echo "microtime_true=====";

echo runtime($t1).'<br>';

$t1 = microtime(true);

for($i=0;$i<10000;$i++){

microtime_float2();

}

echo "microtime_float2=====";

echo runtime($t1).'<br>';

$t1 = microtime(true);

for($i=0;$i<10000;$i++){

microtime_float3();

}

echo "microtime_float3=====";

echo runtime($t1).'<br>';

?>

本机winxp运行结果:

microtime_float=====109.5631ms

microtime_true=====38.8160ms

microtime_float2=====52.7902ms

microtime_float3=====45.0699ms

Linux上运行结果:

microtime_float=====47.2510ms

microtime_true=====9.2051ms

microtime_float2=====16.3319ms

microtime_float3=====12.2800ms

在PHP5的环境下,直接使用microtime(true);显然是最快的。microtime_float2和microtime_float3都可以在不改变原有程序的情况下,直接修改函数内容来实现性能的轻微提升。microtime_float2可以做为兼容旧版本的写法。

【php microtime获取浮点的时间戳】相关文章:

两种php调用Java对象的方法

php截取指定2个字符之间字符串的方法

php curl 获取https请求的2种方法

php限制ip地址范围的方法

php获取twitter最新消息的方法

php实现求相对时间函数

php获取系统变量方法小结

PHP生成plist数据的方法

php准确获取文件MIME类型的方法

smarty模板判断数组为空的方法

精品推荐
分类导航