PHPのtimezone_identifiers_list()関数の使い方を解説
timezone_identifiers_list()関数は、PHPで利用可能なすべてのタイムゾーン識別子を、数値インデックスの配列として返します。この関数はDateTimeZone::listIdentifiers()のエイリアス(別名)としても動作するため、日付・時刻処理の際に有効なタイムゾーンの一覧を取得したい場合に非常に便利です。
構文
timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array
パラメータ
- timezoneGroup(省略可能):取得するタイムゾーンのグループをDateTimeZoneクラスの定数で指定します。例えば、DateTimeZone::AFRICA(値は1)、DateTimeZone::AMERICA、DateTimeZone::ASIAなどがあります。省略した場合はDateTimeZone::ALLが適用され、すべてのタイムゾーンが返されます。
- countryCode(省略可能):ISO 3166-1形式の2文字の国コード(例:「JP」「US」)を指定すると、その国に属するタイムゾーンのみを取得できます。
戻り値
成功した場合はタイムゾーン識別子を格納した配列を返し、失敗した場合はFALSEを返します。
使用例
以下の例では、DateTimeZone::listIdentifiers()とtimezone_identifiers_list()の両方を使い、先頭の5つのタイムゾーン識別子を取得して表示しています。どちらの方法でも同じ結果が得られることが確認できます。
<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i = 0; $i < 5; $i++) {
echo "$timezone_identifiers[$i]\n";
}
echo "-------------------------------------------------\n";
$timezone_identifiers = timezone_identifiers_list();
for ($i = 0; $i < 5; $i++) {
echo "$timezone_identifiers[$i]\n";
}
?>
出力結果
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
-------------------------------------------------
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
パラメータを指定した使用例
次の例では、引数に「1」(DateTimeZone::AFRICA)を指定することで、アフリカ地域のタイムゾーン識別子のみを取得しています。
<?php
print_r(timezone_identifiers_list(1));
?>
出力結果
Array
(
[0] => Africa/Abidjan
[1] => Africa/Accra
[2] => Africa/Addis_Ababa
[3] => Africa/Algiers
[4] => Africa/Asmara
[5] => Africa/Bamako
[6] => Africa/Bangui
[7] => Africa/Banjul
[8] => Africa/Bissau
[9] => Africa/Blantyre
[10] => Africa/Brazzaville
[11] => Africa/Bujumbura
[12] => Africa/Cairo
[13] => Africa/Casablanca
[14] => Africa/Ceuta
[15] => Africa/Conakry
[16] => Africa/Dakar
[17] => Africa/Dar_es_Salaam
[18] => Africa/Djibouti
[19] => Africa/Douala
[20] => Africa/El_Aaiun
[21] => Africa/Freetown
[22] => Africa/Gaborone
[23] => Africa/Harare
[24] => Africa/Johannesburg
[25] => Africa/Juba
[26] => Africa/Kampala
[27] => Africa/Khartoum
[28] => Africa/Kigali
[29] => Africa/Kinshasa
[30] => Africa/Lagos
[31] => Africa/Libreville
[32] => Africa/Lome
[33] => Africa/Luanda
[34] => Africa/Lubumbashi
[35] => Africa/Lusaka
[36] => Africa/Malabo
[37] => Africa/Maputo
[38] => Africa/Maseru
[39] => Africa/Mbabane
[40] => Africa/Mogadishu
[41] => Africa/Monrovia
[42] => Africa/Nairobi
[43] => Africa/Ndjamena
[44] => Africa/Niamey
[45] => Africa/Nouakchott
[46] => Africa/Ouagadougou
[47] => Africa/Porto-Novo
[48] => Africa/Sao_Tome
[49] => Africa/Tripoli
[50] => Africa/Tunis
[51] => Africa/Windhoek
)
まとめ
timezone_identifiers_list()関数を使えば、システムで利用可能なタイムゾーンの一覧を簡単に取得できます。引数を指定しなければ全地域のタイムゾーンが返され、DateTimeZoneクラスの定数や国コードを組み合わせることで、特定の地域や国に絞り込んだ一覧を取得することも可能です。フォームのセレクトボックスにタイムゾーン選択肢を動的に生成したい場合など、実用的な場面で活用できる関数です。
-
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
-
PHPのtimezone_identifiers_list()関数の使い方を解説
timezone_identifiers_list()関数は、PHPで利用可能なすべてのタイムゾーン識別子を、数値インデックスの配列として返します。この関数はDateTimeZone::listIdentifiers()のエイリアス(別名)としても動作するため、日付・時刻処理の際に有効なタイムゾーンの一覧を取得したい場合に非常に便利です。構文timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): arrayパラメータtimezoneGroup(省略可能):取得