見出し画像

#55 2 dimension array(2D array) の使い方

今回は2D arrayの使い方を、練習問題を通して紹介します。
2D arrayとは多次元配列のことで、配列の中に入れ子で複数の配列が入っているイメージです。
array(配列)についてはこちらのサイトも参照。


今回は以下のようなアウトプットを作りたいとします。

練習問題のアウトプット

地方名の下に県名とその県内にある都市の名前を表形式で表示します。

このアウトプットから読み取れる、必要なプロセスは以下の通りです。
①地方名を1つのarrayに格納し、
② ①のarrayの中にさらに、県名に都市名を割り当てるarrayを作る。

<?php
 $place = array(
                "Hokkaido" => array("Hokkaido" => "Sapporo"),
                "Chubu" => array("Ishikawa" => "Kanazawa", "Shizuoka"                                     =>"Fuji","Toyama"=>"Toyama", "Aichi"=>"Nagoya" ),
                "Chugoku" => array("Yamaguchi"=>"Shimonoseki",                                          "Tottori"=>"Tottori")
   // arrayの切れ目になる , を忘れずに。ないとエラーになる
);

//要素ごと(=県名と都市名)に値を出力したいので使うにはforeach

foreach($place as $region => $prefectures){
//地方名を$regionに格納, $regionの2D array(多次元配列)を$prefecturesに格納

   echo "<h1>$region</h1> <br>";
   echo "<table border = 1>  //表の罫線、ヘッダー部分を作る
               <tr>
                 <th>Prefecture</th>
                 <th>City</th>
               </tr>"; 
      foreach($prefectures as $prefecture => $city){
  //prefectureごとにcityを出力したいのでforeachを入れ子で使用
           echo "<tr>
                        <td>$Prefecture</td>
                        <td>$city</td>
                   </tr>";
          }
           echo "</table>";
}
?>

      
より見やすいようにコードのスクリーンショットを以下に貼ります。

コードのスクリーンショット


今回はここまで!読んでいただき、ありがとうございました。😊

筆者が受講中のKredoの公式ラインはこちらです。 未経験からwebエンジニアに転職した卒業生の方の体験記なども載っているので ぜひ覗いてみてください!

Kredoについて詳しく知りたい方はぜひこちらもご覧ください。😊


余談
先週は丸一週間フィールドワークに行ってきました。🌴現地の大学の学部生7人と一緒に、100世帯にインタビューをさせて頂きました。協力してくださった村の人々に心から感謝です。
その間、プログラミングからは遠のいてしまったので、頭を切り替えないといけません。都市にいる間はこまめに復習、phpはまだ慣れないので予習、使い方の事例を収集できるように頑張ります!

いいなと思ったら応援しよう!