【PHP】連想配列の添え字(キー)に日本語(マルチバイト文字)を使う


タイトル通りの内容です。
今回はPHPの話題です。



連想配列の添え字、インデックス、キー、呼び方はどうでもいいんですが、
それに日本語を使ってみるという実験です。

とりあえず以下のソースを見てみて下さい。

// 文字列をキーとした連想配列
$arr = array(  "one" => "東京都",
               "two" => "神奈川県",
               "three" => "埼玉県",
               "four" => "千葉県"   );

// 検索に使用するキー
$serach = array( "one", "two", "three", "four" );

// キーを元に配列から値を取り出し
foreach( $serach as $value ){
  echo "キー[" . $value . "]の中身は[" . $arr[$value] . "]です<br>";
}



【出力結果】
キー[one]の中身は[東京都]です
キー[two]の中身は[神奈川県]です
キー[three]の中身は[埼玉県]です
キー[four]の中身は[千葉県]です




文字列をキーとした連想配列から値を取り出しているだけです。
なんの変哲もないプログラムですね。

そこで、
この、キーとなっている文字列と、中身の文字列を入れ替えてみます。

// 文字列をキーとした連想配列
$arr = array(  "東京都"   => "one",
               "神奈川県" => "two",
               "埼玉県"   => "three",
               "千葉県"   => "four"   );

// 検索に使用するキー
$serach = array( "東京都", "神奈川県", "埼玉県", "千葉県" );

// キーを元に配列から値を取り出し
foreach( $serach as $value ){
  echo "キー[" . $value . "]の中身は[" . $arr[$value] . "]です<br>";
}



「おいおい、日本語なんて入れたらシンタックスエラーになっちゃうんじゃないのか(;^ω^)」
と思われる方も多いかもしれませんが、


【出力結果】
キー[東京都]の中身は[one]です
キー[神奈川県]の中身は[two]です
キー[埼玉県]の中身は[three]です
キー[千葉県]の中身は[four]です

問題なく動きます!(゚∀゚)
PHPすごい。

お仕事で十万件を超える膨大なの住所データを扱う必要があったのですが、
県名を符号化する時に便利でした( ^ω^)


関連記事

コメントは受け付けていません。