メンバーメニュー

ようこそ、ゲストさん

トップ > カテゴリ一覧 > ミニバード > PHP foreach 表示されない?????

質問

  • PHP foreach 表示されない?????
  • 本文:

    PHPの本を見ながら勉強です。

    foreachの勉強で、
    要素を取得した変数を表示する
    極簡単なものですが、

    $a = array(1,2,3);
    foreach($a as $b){
    print "$b";}

    まぁ簡単なもので表示したので、
    普通に教科書通りのキーワードだとつまらない…
    なんて事で
    わざとアホなキーワードをチョイスしたのですが、
    どうも表示が変なんです。

    $a = array (
    'baka' => '馬鹿',
    'aho' => '阿呆',
    'dozi' => 'ドジ',
    'sukebe' => 'スケベ',
    'tonnma' => 'トンマ',
    'manuke' => '間抜け',
    'kuso' => 'クソ',
    'kasu' => 'カス',
    'sine' => '死ね');

    foreach ($a as $key => $b){
    print "$key は $b<br>\n";}

    これでやると、自分のレンサバでは表示されません。
    色々調べると
    >'kuso' => 'クソ',
    に問題があるらしくコメントアウトすると、
    表示されます。
    さらに調べると『ソ』の部分が怪しく、
    ソの後に空白とか前後に文字を入れると
    表示されたりします。

    PHPはシフトジスでアップしましが、
    ソ単体だと言語的に何かおかしいのでしょうか???

  • 緊急度:通常投稿者:kensakuさん投稿時間:2013/09/05 16:26
質問に対する回答は締め切られました

回答 No.2069

  • この回答がベストアンサーです

  • 本文:

    UTF-8を使えるのなら、そちらを使たほうが良いかと思います。
    UTF-8なら、(たぶん)エラーにならないと思います。


    SiftJISの場合は、2バイト文字の2バイト目が「5C」になる場合は
    質問文のようなことになります。

    表、ソとかそういう文字


    対策方法

    'kuso' => 'クソ\',

    そういう文字の場合は、その文字の後ろに\(半角)を付ければOKだったはずです。

  • 投稿者:k-tanさん 投稿時間:2013/09/06 07:43
質問者からのコメント

回答ありがとうございます。
そういう理由ですか。

そういう文字化け表と言うか、
その手の件について、何てキーワードで検索すると
調べきれるのでしょうか?

普通に検索すると色んなものが引っかかって、
ちょっと調べづらいです・・・

回答 No.2070

  • 本文:

    5c 漢字

    で検索。

    ---------
    PHPのファイルをUTF-8で保存して処理するほうが
    今では一般的だと思います。

  • 投稿者:k-tanさん 投稿時間:2013/09/06 14:17
質問者からのコメント

色々判りました!