関数・クラス解説
localeconv
version:PHP 4 >= 4.0.5, PHP 5, PHP 7 (公式)現在のロケール(設定された地域)の数値フォーマットに関する情報を得る
フォーマット
array : localeconv ( )
パラメータ
引数はありません
返値 array
連想配列で各数値情報が格納されています。返される配列については下記を参照してください。
配列要素 説明 decimal_point 小数点文字 thousands_sep 千毎の区切り文字 grouping 数値集合を有する配列 int_curr_symbol 国際通貨記号 (すなわち、USD) currency_symbol ローカルな通貨記号 (すなわち、$) mon_decimal_point 通貨用の小数点文字 mon_thousands_sep 通貨用の千毎の区切り文字 mon_grouping 通貨集合を有する配列 positive_sign 正の値を表す記号 negative_sign 負の値を表す記号 int_frac_digits 国際分割桁 frac_digits ローカルな分割桁 p_cs_precedes currency_symbol が正の値を前に置く場合にTRUE、後に置く場合に FALSE p_sep_by_space 正の値から currency_symbol を1文字の空白で区切る場合にTRUE、そうでない場合にFALSE n_cs_precedes currency_symbol が負の値を前に置く場合にTRUE、後に置く場合に FALSE n_sep_by_space 負の値から currency_symbol を1文字の空白で区切る場合にTRUE、そうでない場合にFALSE p_sign_posn
- 0 - 量および通貨記号を括る括弧
- 1 - 量および通貨記号の前に置く符号文字列
- 2 - 量および通貨記号の後に置く符号文字列
- 3 - 通貨記号の直前に置く符号文字列
- 4 - 通貨記号の直後に置く符号文字列
n_sign_posn
- 0 - 量および通貨記号を括る括弧
- 1 - 量および通貨記号の前に置く符号文字列
- 2 - 量および通貨記号の後に置く符号文字列
- 3 - 通貨記号の直前に置く符号文字列
- 4 - 通貨記号の直後に置く符号文字列
n_sign_posn や n_sign_posn は、フォーマッタオプションの文字列を含みます。それぞれの数字は 上に一覧されている条件の 1 つを表します。 groupingフィールドには、グループ化する方法を表す数字を定義する配 列が含まれます。例えば、nl_NL ロケール用の通貨 groupingフィールド (UTF-8 モードでのユーロ記号) には、 3、3を値とする要素数2の配列が含まれます。この配列のより高い添字に は、より左側のグループに関するものが含まれます。 ある配列要素が、CHAR_MAX に等しい場合、 さらにグループは行われません。配列要素が0に等しい場合、 前の要素が使用されています。
解説
現在のロケール(設定された地域)の数値および通貨フォーマット情報を有する連想配列を返します。ロケールはsetlocale()で設定されたロケールに基づきデータを返します。
記述サンプル
//PHP 7.4.6で実行
//実行(日本の場合)
$result = localeconv();
//結果表示
var_dump($result);
array(18) {
["decimal_point"]=>
string(1) "."
["thousands_sep"]=>
string(0) ""
["int_curr_symbol"]=>
string(0) ""
["currency_symbol"]=>
string(0) ""
["mon_decimal_point"]=>
string(0) ""
["mon_thousands_sep"]=>
string(0) ""
["positive_sign"]=>
string(0) ""
["negative_sign"]=>
string(0) ""
["int_frac_digits"]=>
int(127)
["frac_digits"]=>
int(127)
["p_cs_precedes"]=>
int(127)
["p_sep_by_space"]=>
int(127)
["n_cs_precedes"]=>
int(127)
["n_sep_by_space"]=>
int(127)
["p_sign_posn"]=>
int(127)
["n_sign_posn"]=>
int(127)
["grouping"]=>
array(0) {
}
["mon_grouping"]=>
array(0) {
}
}
/* ----------------------------- */
// ロケールをアメリカに設定して実行
setlocale(LC_ALL, 'en_US');
// 実行
$result = localeconv();
// 結果表示
var_dump($result);
array(18) {
["decimal_point"]=>
string(1) "."
["thousands_sep"]=>
string(0) ""
["int_curr_symbol"]=>
string(0) ""
["currency_symbol"]=>
string(0) ""
["mon_decimal_point"]=>
string(0) ""
["mon_thousands_sep"]=>
string(0) ""
["positive_sign"]=>
string(0) ""
["negative_sign"]=>
string(0) ""
["int_frac_digits"]=>
int(127)
["frac_digits"]=>
int(127)
["p_cs_precedes"]=>
int(127)
["p_sep_by_space"]=>
int(127)
["n_cs_precedes"]=>
int(127)
["n_sep_by_space"]=>
int(127)
["p_sign_posn"]=>
int(127)
["n_sign_posn"]=>
int(127)
["grouping"]=>
array(0) {
}
["mon_grouping"]=>
array(0) {
}
}
/* ----------------------------- */
// ロケールをドイツに変更した場合
setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
// 実行
$result = localeconv();
// 結果表示
var_dump($result);
array(18) {
["decimal_point"]=>
string(1) ","
["thousands_sep"]=>
string(1) "."
["int_curr_symbol"]=>
string(3) "EUR"
["currency_symbol"]=>
string(1) "�"
["mon_decimal_point"]=>
string(1) ","
["mon_thousands_sep"]=>
string(1) "."
["positive_sign"]=>
string(0) ""
["negative_sign"]=>
string(1) "-"
["int_frac_digits"]=>
int(2)
["frac_digits"]=>
int(2)
["p_cs_precedes"]=>
int(0)
["p_sep_by_space"]=>
int(1)
["n_cs_precedes"]=>
int(0)
["n_sep_by_space"]=>
int(1)
["p_sign_posn"]=>
int(1)
["n_sign_posn"]=>
int(1)
["grouping"]=>
array(1) {
[0]=>
int(3)
}
["mon_grouping"]=>
array(1) {
[0]=>
int(3)
}
}
参考リンク
・setlocale ロケール情報の設定を行うタグ
ロケール 数値 フォーマット String 文字列
公式リファレンス
書式
localeconv ( ) : array
説明
ローカルな数値および通貨フォーマット情報を有する連想配列を返します。
返値
localeconv() は、 setlocale() で設定された現在のロケールに基づきデータを返します。 返される連想配列は、次のフィールドを有します。
配列要素 | 説明 |
---|---|
decimal_point | 小数点文字 |
thousands_sep | 千毎の区切り文字 |
grouping | 数値集合を有する配列 |
int_curr_symbol | 国際通貨記号 (すなわち、USD) |
currency_symbol | ローカルな通貨記号 (すなわち、$) |
mon_decimal_point | 通貨用の小数点文字 |
mon_thousands_sep | 通貨用の千毎の区切り文字 |
mon_grouping | 通貨集合を有する配列 |
positive_sign | 正の値を表す記号 |
negative_sign | 負の値を表す記号 |
int_frac_digits | 国際分割桁 |
frac_digits | ローカルな分割桁 |
p_cs_precedes | currency_symbol が正の値を前に置く場合にTRUE、後に置く場合に FALSE |
p_sep_by_space | 正の値から currency_symbol を1文字の空白で区切る場合にTRUE、 そうでない場合にFALSE |
n_cs_precedes | currency_symbol が負の値を前に置く場合にTRUE、後に置く場合に FALSE |
n_sep_by_space | 負の値から currency_symbol を1文字の空白で区切る場合にTRUE、 そうでない場合にFALSE |
p_sign_posn |
|
n_sign_posn |
|
サンプル
例1 localeconv() の例
if (false !== setlocale(LC_ALL, 'nl_NL.UTF-8@euro')) {
$locale_info = localeconv();
print_r($locale_info);
}
上の例の出力は以下となります。
Array
(
[decimal_point] => .
[thousands_sep] =>
[int_curr_symbol] => EUR
[currency_symbol] => €
[mon_decimal_point] => ,
[mon_thousands_sep] =>
[positive_sign] =>
[negative_sign] => -
[int_frac_digits] => 2
[frac_digits] => 2
[p_cs_precedes] => 1
[p_sep_by_space] => 1
[n_cs_precedes] => 1
[n_sep_by_space] => 1
[p_sign_posn] => 1
[n_sign_posn] => 2
[grouping] => Array
(
)
[mon_grouping] => Array
(
[0] => 3
[1] => 3
)
)
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール