PHPのmicrotime関数って凄く使いにくいなと思っていたら、PHP 5.0から使いやすくなっていました。
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で数値の扱いが変わって可能になったのかもしれないです。