PHPのnl_langinfo()関数の使い方をわかりやすく解説
PHPのnl_langinfo()関数は、現在のロケール(言語・地域設定)に関する情報を取得するための関数です。曜日名や月名、通貨記号、数値の書式など、ロケール固有のさまざまな情報を要素単位で取り出すことができます。通常、setlocale()でロケールを設定した後に使用します。
注意: この関数はWindows環境では動作しません。LinuxなどのUNIX系プラットフォームでのみ利用可能です。
構文
nl_langinfo(ele)
パラメータ
ele − 取得したい情報の要素を指定します。指定できる主な要素は以下の通りです。
時刻・カレンダー関連
ABDAY_(1-7) − 番号で指定した曜日の省略名
DAY_(1-7) − 番号で指定した曜日名(DAY_1 = 日曜日)
ABMON_(1-12) − 番号で指定した月の省略名
MON_(1-12) − 番号で指定した月名
AM_STR − 午前(AM)を表す文字列
PM_STR − 午後(PM)を表す文字列
D_T_FMT − strftime()で日付と時刻を表現するためのフォーマット文字列
D_FMT − strftime()で日付を表現するためのフォーマット文字列
T_FMT − strftime()で時刻を表現するためのフォーマット文字列
T_FMT_AMPM − strftime()で午前/午後付き12時間形式の時刻を表現するためのフォーマット文字列
ERA − 元号(時代)の代替表現
ERA_YEAR − 元号形式での年
ERA_D_T_FMT − 元号形式での日付と時刻(strftime()で使用可能)
ERA_D_FMT − 元号形式での日付(strftime()で使用可能)
ERA_T_FMT − 元号形式での時刻(strftime()で使用可能)
通貨カテゴリ
INT_CURR_SYMBOL − 国際的な通貨記号(例:USD)
CURRENCY_SYMBOL − 通貨記号(例:$)
CRNCYSTR − CURRENCY_SYMBOLと同じ
MON_DECIMAL_POINT − 通貨表記における小数点文字
MON_THOUSANDS_SEP − 通貨表記における桁区切り文字
POSITIVE_SIGN − 正の値を表す符号文字
NEGATIVE_SIGN − 負の値を表す符号文字
MON_GROUPING − 通貨数値のグループ化方法を示す配列(例:1 000 000)
INT_FRAC_DIGITS − 国際的な小数桁数
FRAC_DIGITS − ローカル標準の小数桁数
P_CS_PRECEDES − 正の値の前に通貨記号を置く場合はTRUE(1)、後ろに置く場合はFALSE(0)
P_SEP_BY_SPACE − 通貨記号と正の値の間にスペースを入れる場合はTRUE(1)、入れない場合はFALSE(0)
N_CS_PRECEDES − 負の値の前に通貨記号を置く場合はTRUE(1)、後ろに置く場合はFALSE(0)
N_SEP_BY_SPACE − 通貨記号と負の値の間にスペースを入れる場合はTRUE(1)、入れない場合はFALSE(0)
P_SIGN_POSN − 正の値の符号の表示位置に関するフォーマット設定。戻り値は以下の通り:
0 − 数量と通貨記号を括弧で囲む
1 − 符号文字列を数量と通貨記号の前に置く
2 − 符号文字列を数量と通貨記号の後に置く
3 − 符号文字列を通貨記号の直前に置く
4 − 符号文字列を通貨記号の直後に置く
N_SIGN_POSN − 負の値の符号の表示位置に関するフォーマット設定。戻り値の種類はP_SIGN_POSNと同じです。
数値カテゴリ
DECIMAL_POINT − 小数点文字
RADIXCHAR − DECIMAL_POINTと同じ
THOUSANDS_SEP − 千の位の区切り文字
THOUSEP − THOUSANDS_SEPと同じ
GROUPING − 数値のグループ化方法を示す配列
戻り値
nl_langinfo()関数は、成功した場合は指定した要素に関する情報を文字列で返し、失敗した場合はFALSEを返します。
使用例
まずsetlocale()でロケールを設定してから呼び出します。なお、この関数はWindowsプラットフォームでは実装されていないため、Linux等の環境で実行してください。
<?php setlocale(LC_ALL, 'ja_JP.UTF-8'); echo nl_langinfo(D_FMT); // ロケールに応じた日付フォーマットを表示 echo nl_langinfo(AM_STR); // 午前を表す文字列を表示 ?>
このように、nl_langinfo()を使うことで、地域ごとに異なる日付・時刻・通貨・数値の書式情報をプログラムから柔軟に取得できます。多言語対応アプリケーションや地域依存の出力処理において役立つ関数です。
-
PHPのquoted_printable_encode()関数の使い方を徹底解説
PHPのquoted_printable_encode()関数は、8ビット文字列をquoted-printable形式の文字列に変換するための組み込み関数です。quoted-printableはMIME(Multipurpose Internet Mail Extensions)で定義されているエンコード方式の一つで、主に電子メールで非ASCII文字(日本語など)を安全に送信する際に利用されます。構文quoted_printable_encode(str)パラメータstr − 変換対象となる8ビット文字列を指定します。この引数は必須です。戻り値quoted_printable_encode()
-
PHPのquoted_printable_decode()関数とは?使い方とサンプルコードを解説
PHPのquoted_printable_decode()関数は、quoted-printable形式でエンコードされた文字列を、8ビット文字列にデコードするために使用されます。メール本文などで使われるquoted-printableエンコーディングを元に戻したい場合に便利な関数です。 構文 quoted_printable_decode(str) パラメータ str − デコード対象となる入力文字列を指定します。 戻り値 quoted_printable_decode()関数は、デコード後の8ビットASCII文字列を返します。 使用例 以下は、quoted_printable_dec