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

PHPのgettimeofday()関数とは?使い方と戻り値をわかりやすく解説

PHPのgettimeofday()関数は、現在の時刻に関する詳細な情報を配列として取得できる組み込み関数です。Unixエポックからの経過秒数やマイクロ秒など、高精度な時刻情報が必要な場面で活用できます。

構文

gettimeofday(return_float)

パラメータ

  • return_float − TRUE を指定すると、連想配列の代わりに浮動小数点数(float)で結果が返されます。

戻り値

gettimeofday()関数は、デフォルトでは連想配列を返します。返される配列には以下のキーが含まれます。

  • [sec] − Unixエポック(1970年1月1日 00:00:00 UTC)からの経過秒数

  • [usec] − マイクロ秒単位の値

  • [minuteswest] − グリニッジ標準時より西へずれている分数

  • [dsttime] − 夏時間(DST)補正の種類

使用例1:連想配列として時刻情報を取得する

以下は、gettimeofday()関数を引数なしで呼び出し、時刻情報を配列として表示する例です。

<?php
   print_r(gettimeofday());
?>

出力結果

Array (
   [sec] => 1539234547
   [usec] => 322766
   [minuteswest] => 0
   [dsttime] => 0
)

このように、現在時刻が秒・マイクロ秒・タイムゾーンオフセット・夏時間補正の4つの要素で確認できます。

使用例2:浮動小数点数として取得する

第1引数に TRUE を渡すと、結果がfloat型で返されます。タイムスタンプとしてそのまま利用したい場合に便利です。

<?php
   echo gettimeofday(true);
?>

出力結果

1539172203.5542

使用例3:秒とマイクロ秒を組み合わせて表示する

戻り値の配列から各要素を取り出し、「秒.マイクロ秒」の形式で文字列として出力することもできます。

<?php
   $res = gettimeofday(); echo "$res[sec].$res[usec]";
?>

出力結果

1539172298.346375

まとめ

gettimeofday()関数を使うことで、マイクロ秒レベルの高精度な現在時刻を簡単に取得できます。デフォルトでは連想配列形式で詳細な時刻情報が得られ、TRUE を指定すればfloat型のタイムスタンプとしても扱えます。処理時間の計測や一意なID生成など、精密な時刻管理が必要なプログラムでぜひ活用してみてください。

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

    echo()は、1つ以上の文字列を出力するためのPHPの基本的な言語構造です。Webページへのテキスト表示やデバッグなど、PHP開発において最も頻繁に使われる機能の一つです。 ポイント:echo()は厳密には関数ではなく言語構造のため、括弧を省略して記述できます。また、print()と比較して処理が高速であり、カンマ区切りで複数の引数を渡せる点が大きな特徴です。 構文 echo(str) パラメータ str − 出力したい文字列を指定します。カンマ(,)で区切ることで、複数の文字列を一度に出力することも可能です。 戻り値 echo()関数は戻り値を返しません(void)。そのため、式の中で

  2. PHPのcrc32()関数とは?使い方とデータ整合性チェックの方法

    crc32()関数は、文字列から32ビット長のCRC(巡回冗長検査)チェックサムを計算するためのPHP組み込み関数です。主にデータの整合性を検証する目的で使用され、送信前後のデータが一致しているかどうかを簡単に確認できます。crc32()関数の概要CRC(Cyclic Redundancy Check:巡回冗長検査)は、データ通信やファイル転送時に発生する誤りを検出するための代表的な手法です。crc32()関数を使えば、任意の文字列に対応するチェックサム値(整数)を取得できます。同じ入力に対しては常に同じ値が生成されるため、データが途中で破損・改変されていないかを検証する際に役立ちます。構文c