見出し画像

#53,54 PHP array & associateの使い方

arrayとassociateの使い方を練習問題を通して学びます。
今日は以下のアウトプットを作ってみます。

ドロップダウンリストから名前を選択できる

ドロップダウンリストで名前を選択し、Submitボタンを押すと、

アウトプット

選択した人物の名前と国籍が表示される。

まずはじめに、リストに掲載する人物と国籍をarrayを使って割り当てます。
<?php
 $contacts = [
   "Sakura" => "Japan", 
   "Hyuna" => "Korea",
   "John" => "USA",
   "Philip"=> "England",
   "Lance" => "Thailand"
  ]
?>
これで人物名はkeyとして、国籍がvalueとして代入されました。
ここからhtmlでフォームを作ります。htmlの<head>の部分を以下にコピペ

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Green Page</title>
</head>
<body>
  <form action="" method="post">
      <select name="name" id="">
<!-- ドロップダウンリストを作りたいので使うのは<select>と<option> -->
       <?php
          foreach($contacts as $name=>$address)
          // 配列のkeyつまり人物名も同時に取得したい場合の書き方 
        {
              echo "<option value='name'>$name</option>";
              echo "$address";
        }
      ?>
     </select>
     <input type="submit" value="Submit" name="btn_submit">
  </form>
 <?php
    if(isset($_POST['btn_submit'])){
      // INPUT  リストで選択した人物名を$nameに格納
     $name = $_POST['name'];
     // PROCESS $contacts[$name]により$contactsのうちそれぞれの           key(=$name)が割り当てられたvalue(=国名)を$addressに格納
    $address = $contacts[$name];
     // OUTPUT
    echo "<p>Name: $name</p>";
    echo "<p>Address: $address</p>";
    }
?>
</body>
</html>

コード全体のスクショも貼っておきます。


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


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

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


この記事が気に入ったらサポートをしてみませんか?