PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのmicrotime()関数とは?使い方と実行例をわかりやすく解説

PHPのmicrotime()関数は、現在時刻をマイクロ秒単位で取得するための関数です。この関数は、マイクロ秒付きの現在のUnixタイムスタンプを返します。なお、microtime()関数は、gettimeofday()システムコールをサポートしているオペレーティングシステムでのみ利用可能です。

基本構文

microtime(get_as_float)

パラメータ

  • get_as_float − オプション引数です。この引数を指定せずに呼び出した場合、関数は「msec sec」という形式の文字列を返します。ここで「sec」はUnixエポック(1970年1月1日 0:00:00 GMT)からの経過秒数、「msec」はマイクロ秒部分を表します。オプション引数get_as_floatにTRUEを設定すると、戻り値としてfloat型(秒単位)が返されます。

戻り値

microtime()関数は、マイクロ秒付きの現在のUnixタイムスタンプを返します。前述のとおり、この関数はgettimeofday()システムコールをサポートするOS上でのみ動作します。

使用例①:基本的な使い方

まずは、microtime()関数を引数なしで呼び出す基本的な例を見てみましょう。

<?php
   echo(microtime());
?>

出力結果:

0.85623100
1539234951

このように、マイクロ秒部分と秒数部分がスペース区切りの文字列として出力されます。

使用例②:処理時間の計測

microtime(true)とすることでfloat型の値が取得できるため、プログラムの処理時間を計測する際によく使われます。次の例では、処理開始時刻と終了時刻の差分から、経過時間を算出しています。

<?php
   $time_start = microtime(true);
   usleep(100);
   $time_end = microtime(true);
   $time = $time_end - $time_start;
   echo "Did nothing in $time seconds\n";
?>

出力結果:

Did nothing in 0.00016498565673828 seconds

まとめ

microtime()関数は、マイクロ秒単位の高精度な時刻取得が必要な場面で活躍します。特に、スクリプトのパフォーマンス計測や処理速度のベンチマークを行う際には、引数にTRUEを指定してfloat型で受け取る方法が便利です。日付や時刻を扱うPHPプログラミングにおいて、覚えておくと役立つ関数の一つと言えるでしょう。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのlcg_value()関数とは?乱数生成の基本と使い方を解説

    lcg_value()関数の定義と使い方lcg_value()関数は、0から1までの範囲でランダムな数値(浮動小数点数)を生成するPHP組み込み関数です。「LCG」とは「線形合同法(Linear Congruential Generator)」の略称です。この手法は、不連続な区分線形方程式を用いて擬似乱数列を計算するアルゴリズムで、擬似乱数生成アルゴリズムの中でも最も古くから知られているものの一つです。構文lcg_value ( void ) : floatパラメータこの関数は引数を受け取りません。戻り値lcg_value()関数は、0.0以上1.0以下の範囲にある擬似乱数のfloat値を返し