PHPのmicrotime関数が使いやすくなっていたことを知った。

PHPのmicrotime関数って凄く使いにくいなと思っていたら、PHP 5.0から使いやすくなっていました。

スクリーンショット 2013-11-27 19.19.12

time関数は秒単位でしか取得できない。

PHPのtime関数でタイムスタンプが取得できます。

php > echo time();
1385547406

しかし、秒単位でしか取得できず、ベンチマークなどで詳細な時間が知りたいときには使えません。

microtime関数は使いにくい。

PHPにはmicrotime関数があり、これを使うとマイクロ秒単位での取得ができます。

php > echo microtime();
0.25309200 1385520620

しかしながら、戻り値のフォーマットが使いにくく、変換関数などを仲介させる必要がありました。

こんな感じです。

function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

ちょっと簡単に計測がしたいときなどに、この処理を入れるのは少し面倒です。

PHP 5.0からは使いやすくなっていた

PHP 5.0からは、使いやすいフォーマットで取得できるオプションが追加されていました。

PHP: microtime – Manual

引数にtrueを添えるだけです。

php > echo microtime(true);
1385520623.684

詳しく調べてませんが、PHP 5.0で数値の扱いが変わって可能になったのかもしれないです。

About katty0324

Comments are closed.

Scroll To Top