2011年10月08日

setlocale関数はそれほど難しくないかな……?


無料ブログは広告が表示されるものなんだな、と思い込んでたんですが、
全て非表示にできることを知りました。今さらですが……。
ブログがすっきりして嬉しいです(^^)


setlocale はPHPのロケールを変更して、
指定した新しいロケールを設定する関数です。

私の場合「ロケールって何?」から始まりました(^^;)
でもそんな小難しいものでもなく、言語・国で異なる表記や単位のことでした。

しかもこの関数を使っても、いくつかの関数の出力が変わるだけで
浮動小数点型の数値で「,」や「.」を使うかどうか、みたいなとこで
影響を及ぼすようです。

基本の形はこちら↓
setlocale(分類, ロケール)

分類で指定できるカテゴリーは
「LC_ALL」「LC_COLLATE」「LC_CTYPE」「LC_MONETARY」「LC_NUMERIC」「LC_TIME」
の6つ。

ちなみに空だったら環境変数によって決められるし、
0だったら便剤の設定が返ってくるとのこと。

ロケールで指定できるロケーション・コードは、OSによって異なるみたいですね。
私は Windows なので、こちらのページを参考にさせていただきました↓

ロケール ID (LCID) の一覧

試してみたのは次のコードです↓

<HTML>
<HEAD>
<TITLE>setlocale関数の例</TITLE>
</HEAD>
<BODY>

<?php
//英語(アメリカ)に設定する
print(setlocale(LC_ALL, "en-us"));
print("<BR>\n");
print("He's my fiance.");
print("<BR>\n");
//日本語に戻す
print(setlocale(LC_ALL, "ja"));
?>

</BODY>
</HTML>

結果はこちら↓

He's my fiance.
Japanese_Japan.932


う〜ん、1行目は空でした(-_-)
コードは出力されないよう修整してみたら……↓

<?php
//英語(アメリカ)に設定する
setlocale(LC_ALL, "en-us");

print("He's my fiance.");
print("<BR>\n");

//日本語に戻す
setlocale(LC_ALL, "ja");
?>

こうなりました↓

He's my fiance.

ホントは「fiance」の e の頭に点がついてほしかったんだけど、
それは別の問題だと思うので、またいずれ……(^^;)


<ご案内>----------------------------------------------------------------------------------------

nabecchiDRM.jpg

なべっち式ダイレクトレスポンスマーケティング(DRM) 22,800円

----------------------------------------------------------------------------------------<ご案内>



今回、参考にさせていただいたのはこちらのページです↓

PHP関数講座:setlocale--そふぃのPHP入門

ありがとうございました<(_ _)>


P.S. コメントいただけると嬉しいです♪



posted by れい at 16:34| Comment(0) | 時間・日付・設定関数 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。