PHP setlocale() 関数

❮ PHP 文字列リファレンス

ロケールに US English を設定し、再度デフォルトに戻します:

<?php
echo setlocale(LC_ALL,"US");
echo "<br>";
echo setlocale(LC_ALL,NULL);
?>
例の実行 »

定義と用法

setlocale() 関数は、ロケールに情報を設定します。

ロケール情報とは、地理的エリアに固有な言語、通貨、時刻やその他の情報です。

注:setlocale() 関数は、現在のスクリプトのロケールのみを変更します。

チップ:ロケール情報は、setlocale(LC_ALL,NULL) でシステムのデフォルトに設定することができます。

チップ: 数値のフォーマット情報を取得するには、 localeconv() 関数を見てください 。


構文

setlocale(constant,location)

パラメータ 説明
constant 必須。どのロケール情報を設定するかを指定する。

使用できる定数:

  • LC_ALL - 以下のものすべて
  • LC_COLLATE -  ソート順
  • LC_CTYPE - 文字の分類と変換 (例:すべての文字は大文字と小文字にする必要がある)
  • LC_MESSAGES - システムメッセージのフォーマット
  • LC_MONETARY - 通貨(Monetary/currency)フォーマット
  • LC_NUMERIC - 数値フォーマット
  • LC_TIME - 日付と時刻のフォーマット
location 必須。ロケール情報に設定する国/地域を指定する。文字列か配列にすることができる。複数の location を渡すことが可能です。

location がNULLまたは空文字列 "" の場合、location 名は上記の定数と同じ名前の環境変数の値か "LANG" から設定されます。

location が "0"の場合、location 設定は影響を受けず、現在の設定だけが返されます。

location が配列の場合、setlocale() は妥当な言語または地域コードが見つかるまで各配列要素を試します。 これは、リージョンが異なるシステムで異なる名前で知られている場合に非常に有用です。

注: 使用可能なすべての言語コードは、 言語コードリファレンスをご覧ください。

技術内容
返り値: 現在のロケール設定を返します。失敗した場合はFALSEを返します。返り値は、PHPを実行しているシステムによって異なります。
PHP バージョン: 4+
変更歴 文字列として定数を渡すことは、PHP 4.2.0で非推奨になりました。代わりに、定数を使用するようになりました。 文字列として渡すと、警告メッセージが表示されます。

PHP 4.3.0で、複数の locations を渡すことが可能になりました。

PHP 5.3.0以降、constant パラメータに 定数 LC_* ではなく文字列が渡された場合に、 この関数は E_DEPRECATED をスローするようになりました。

❮ PHP 文字列リファレンス