色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

php microtime獲取浮點的時間戳

一直以來用這個函數獲取:
復制代碼 代碼如下:
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技術php microtime獲取浮點的時間戳,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 莱西市| 东源县| 铁岭市| 曲阳县| 巧家县| 屏南县| 安顺市| 会宁县| 沂南县| 新昌县| 同德县| 桐城市| 玉田县| 台安县| 刚察县| 龙井市| 滦平县| 吉林省| 乐安县| 浠水县| 称多县| 敦煌市| 逊克县| 延寿县| 广丰县| 建宁县| 尚志市| 满洲里市| 吉安县| 高碑店市| 波密县| 和龙市| 徐水县| 临澧县| 南靖县| 子长县| 林甸县| 宜城市| 延庆县| 宁海县| 浠水县|