PHP では、ほとんどの時刻形式は UNIX タイムスタンプで表現され、UNIX タイムスタンプは時間の最小測定単位である s (秒) に基づいています。これは一部のアプリケーションにとっては十分な精度ではないため、microtime() を呼び出して現在の UNIX タイムスタンプとマイクロ秒数を返すことができます。この関数のプロトタイプは次のとおりです:
mixed microtime([bool get_as_float]); //現在の UNIX タイムスタンプとマイクロ秒を返します
この関数にはオプションのブール値パラメータを指定できます。呼び出し時にこのパラメータが指定されなかった場合、この関数は「msec sec」形式の文字列を返します。 sec は UNIX エポックからの秒数、msec はマイクロパートで、文字列の両方の部分が秒単位で返されます。 get_as_float 引数が指定され、その値が TRUE に等しい場合、microtime() は浮動小数点数を返します。小数点以前はタイムスタンプ形式で表現されますが、小数点以降は微妙な値を表します。ただし、get_as_float パラメータは PHP5.0 バージョンで新たに追加されたパラメータであるため、PHP5 より前のバージョンでは、このパラメータを使用して浮動小数点数を直接リクエストすることはできないことに注意してください。次の例では、PHP スクリプトの実行に必要な時間は、microtime() 関数を 2 回呼び出すことによって計算されます。コードは次のようになります:
// スクリプトの実行時間を計算するクラスを作成します
クラスタイマー{
private $startTime = 0; // スクリプトの実行開始時間を保存します (マイクロ秒単位で保存)
private $stopTime = 0 // スクリプトの実行終了時間を保存します (マイクロ秒単位で保存)
//スクリプトの開始時に呼び出して、スクリプト開始時刻のマイクロ秒値を取得します
関数 start(){
$this->startTime = microtime(true); //取得した時刻をメンバー属性 $startTime
に代入する
}
// スクリプトの最後で、スクリプト終了時刻のマイクロ秒値を使用します
関数 stop(){
$this->stopTime = microtime(true); //取得した時間をメンバー属性 $stopTime
に代入する
}
//同じスクリプト内の 2 つの取得時間の差を返します
関数 Spent(){
//計算後、4を5に四捨五入し、4桁を維持して返します
returnround(($this->stopTime-$this->startTime),4);
}
}
$timer= 新しいタイマー()
$timer->start(); //スクリプトファイルの実行開始時にこのメソッドを呼び出します
usleep(1000); // スクリプトのテーマの内容。ここでは例として 1 ミリ秒スリープできます
$timer->stop(); // スクリプト ファイルの最後でこのメソッドを呼び出します
echo "かかりました".$timer->spent()."";
?>
上記のスクリプトでは、スクリプトの実行時間を計算するために使用するクラス Timer を宣言します。スクリプトの実行開始時刻を取得するには、スクリプトの実行の開始時にこのクラスの start() メソッドを呼び出す必要があります。そして、スクリプトの実行の最後にこのクラスの stop() メソッドを呼び出して、スクリプトの終了時刻を取得します。次に、このクラスの Spend() メソッドにアクセスすると、スクリプトの実行に必要な時間を取得できます。