PHPのlocaltime()関数の使い方と実行例をわかりやすく解説
PHPのlocaltime()関数は、Unixタイムスタンプに含まれる時刻の各要素(秒・分・時・日付など)を配列として取得できる関数です。第2引数の指定方法によって、数値インデックスの配列、あるいは扱いやすい連想配列のどちらの形式でも結果を受け取ることができます。
構文
localtime(timestamp, is_associative)
パラメータ
timestamp − 整数型のUnixタイムスタンプを指定します。省略した場合は現在のローカル時刻、つまりtime()の戻り値がデフォルトで使用されます。
is_associative − FALSEを指定するか省略した場合、結果は通常の数値インデックス付き配列として返されます。TRUEを指定した場合、C言語のlocaltime関数が返す構造体の各要素をキーとする連想配列として返されます。
連想配列のキー一覧
is_associativeにTRUEを指定した場合、返される連想配列には以下のキーが含まれます。
[tm_sec] − 秒
[tm_min] − 分
[tm_hour] − 時
[tm_mday] − 日(月の中の日付)
[tm_mon] − 月(1月 = 0)
[tm_year] − 1900年からの経過年数
[tm_wday] − 曜日(日曜日 = 0)
[tm_yday] − 年間通算日(1月1日 = 0)
[tm_isdst] − サマータイム(夏時間)が有効かどうか
戻り値
localtime()関数は、Unixタイムスタンプの時刻要素を格納した配列を返します。
使用例
まずは基本的な使い方の例です。
<?php $localtime = localtime(); $localtime_assoc = localtime(time(), true); print_r($localtime); print_r($localtime_assoc); ?>
上記コードの出力結果は次のとおりです。
出力結果
Array
(
[0] => 52
[1] => 14
[2] => 5
[3] => 11
[4] => 9
[5] => 118
[6] => 4
[7] => 283
[8] => 0
)
Array
(
[tm_sec] => 52
[tm_min] => 14
[tm_hour] => 5
[tm_mday] => 11
[tm_mon] => 9
[tm_year] => 118
[tm_wday] => 4
[tm_yday] => 283
[tm_isdst] => 0
)
最初の配列が数値インデックス形式、2番目の配列が連想配列形式の結果です。どちらも同じ時刻情報を、異なるキー形式で表現していることが分かります。
続いて、もう一つのシンプルな例を見てみましょう。
使用例2
<?php
echo ("現在のローカル時刻は次のとおりです:\n");
print_r(localtime());
?>
出力結果
現在のローカル時刻は次のとおりです:
Array
(
[0] => 35
[1] => 15
[2] => 5
[3] => 11
[4] => 9
[5] => 118
[6] => 4
[7] => 283
[8] => 0
)
このようにlocaltime()を使えば、タイムスタンプを分解して秒・分・時・日付などの情報を個別に取得できます。日付の計算や表示フォーマットのカスタマイズなど、さまざまな場面で活用できる便利な関数です。
-
【PHP】array_rand()関数の使い方|配列からランダムなキーを取得する方法
array_rand() 関数は、配列から1つ以上のランダムなキーを取得するためのPHP組み込み関数です。配列の中から要素を無作為に選びたい場合に便利で、くじ引きやシャッフル表示などの実装によく使われます。 基本構文 array_rand(array $array, int $num = 1) パラメータ arr(第1引数):対象となる配列を指定します。 count(第2引数):取得したいランダムキーの数を指定します。省略した場合はデフォルト値の 1 が適用されます。 戻り値 array_rand() 関数は、選択されたランダムなキーを返します。 第2引数が 1 の場合(または省略した場
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に