文字列関数
Home >> PHP関数リファレンス >> 文字列関数 >> setlocale

文字列関数

解説 ロケール情報をセットする
書式 bool setlocale( mixed category, string locale )
bool setlocale( mixed カテゴリ, string ロケール名 )
引数 category カテゴリ
locale ロケール名
返値 新しいロケール/FALSE(エラーの場合)

PHPマニュアル:文字列関数 setlocale()

setlocale()関数:概略解説

setlocale()は、指定したロケール情報をセットします。

setlocale()関数:返り値解説

新しいロケールを返します。ロケール機能が未実装、指定されたロケールが存在しない、カテゴリ名が無効、などの場合にはFALSEを返します。

setlocale()関数:引数解説

category カテゴリ

ロケール設定によって影響を受ける関数のカテゴリを指定します。以下の定数が指定できます。

setlocale()関数の関数カテゴリ
カテゴリ 定数値 説明
LC_ALL 6 以下のもの全て
LC_COLLATE 3 文字列の比較用。strcoll()関数で使用。
LC_CTYPE 0 文字の分類と変換。strtoupper()関数など
LC_MONETARY 4 localeconv()関数用。PHPでは現在未実装
LC_NUMERIC 1 数値の区切り文字用
LC_TIME 2 日時。strftime()関数でフォーマットに使用。

カテゴリ名が無効の場合には警告(Warning)を発します。

locale ロケール名

ロケール名を指定します。

ロケール名が空文字列 "" の場合、ロケール名はカテゴリと同じ名前の環境変数の値、または環境変数 "LANG" からセットされます。

ロケール名が 0 または "0" の場合、ロケール設定は適用されず、現在の設定が返されます。

参考関数

  • localeconv() ---- 数値に関するフォーマット情報を得る
  • strcoll() ---- ロケールに基づく文字列比較を行う

サンプルスクリプト

簡単な利用例

<?php
setlocale
( LC_ALL, 'nl_NL' ); // ロケールをオランダ語に設定
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));
?>

出力結果

vrijdag 22 december 1978

オランダ語でフォーマットする事ができます。