2014年10月30日みなさん、こんにちは。10月が終わりを迎えるとともに、肌寒い日が続きます。何より2ヶ月も先なのにお店にはクリスマスツリーが販売されていて、冬がやってくるのかとおもうと憂鬱でもあり、わくわくもしています。No.2】で紹介した『function関数』と同じくらい重要な単元『連想配列』についてお話します。配列は通常$japan[0],$japan[1]のようにキー名が数字として読み込まれますが、連想配列は配列のキー名を文字列に設定した配列のことを言います。以下のような配列があったとします。ようにキー名が[0],[1],[2]と数字で振り分けられます。この$japanを連想配列に変えてみたいと思います。$japan=array('Hokkaido'=>'Sapporo','Miyagi'=>'Sendai','Kanagawa'=>'Yokohama','Aichi'=>'Nagoya','Hyogo'=>'Kobe','Okinawa'=>'Naha');print_r($japan);《出力結果》どうでしょうか?違いがわかりますか?キー名が数字ではなく文字列で設定されています。これが連想配列となります。配列$japanを表でまとめると以下のようになります。Naha【foreach文と連想配列】<値のみを出力する>ここではforeach文と連想配列を使った処理を紹介します。このforeach文と連想配列の組み合わせはよく使いますのでしっかり覚えましょう。ここでも$japanを使って説明したいと思います。rtrim($choice_japan,",");《出力結果》<キー名と値を出力する>先ほどは値のみを出力しましたが、今度はキー名も出力させる処理を学びましょう。処理内容}書き方は先ほどとほぼ似ているので難しく感じる必要はありません。多次元連想配列についての説明をします。サンプルをご覧ください。$japan=array();$japan["Kanto"]["Ibaraki"]="Mito";$japan["Kanto"]["Tochigi"]="Utsunomiya";$japan["Kanto"]["Gunma"]="Maebashi";$japan["Tohoku"]["Iwate"]="Morioka";$japan["Tohoku"]["Miyagi"]="Sendai";$print_r($japan);《出力結果》このように連想配列の中に連想配列があることを多次元連想配列といいます。配列$japanに[“Kanto”]と[“Tohoku”]があります。配列$japan[“Kanto”]の中に[“Ibaraki”][“Tochigi”][“Maebashi”]があります。同じように配列$japan[“Tohoku”]の中に[“Iwate”][“Miyagi”]があります。これをforeach文を使って値を出力する方法はこちらです。}}《出力結果》ここでのポイントは2回foreach文を使うことです。//(1)までだと$valueは連想配列のままで値を出力することはできません。$valueがまだ配列なら//(1)のforeach内でもう一度//(2)のforeach文をかけてあげれば、値を出力させることができます。覚えておいてください。いかがでしたでしょうか?連想配列にすることでキー名を適切な名前にすれば$japan[0],$japan[1]よりも参照しやすくなります。連想配列はphpをやっていく中でものすごく重要な単元です。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。