【PHP】データを配列や連想配列にしてフォームを送信する方法

PHP

データをサーバーに送信するとき、関連しているものは配列や連想配列で送りたいことがあります。
PHPでデータを配列や連想配列にしてフォームを送信する方法を紹介します。

PHPでデータを配列にしてフォームを送信する方法

nameプロパティに配列や連想配列を指定することができます。

ファイル構成

 ∟index.php
 ∟get.php

フォーム

 <form action="get.php">
   <div>
     <input type="text" name="staffs[]">
    </div>
   <div>
     <input type="text" name="staffs[]">
    </div>
   <div>
     <input type="text" name="staffs[]">
    </div>
    <input type="submit" value="送信する">
 </form>

get.php


  print_r($_GET['staffs']);
//Array ( [0] => staff1 [1] => staff2 [2] => staff3 )

このように配列のかたちでデータを取得することができます。
POSTでも同じです。

PHPでデータを連想配列にしてフォームを送信する方法

ファイル構成

 ∟index.php
 ∟post.php

フォーム

 <form action="post.php" method="POST">
   <div>
     <input type="text" name="account[id]">
    </div>
   <div>
     <input type="text" name="account[name]">
    </div>
   <div>
     <input type="text" name="account[password]">
    </div>
    <input type="submit" value="送信する">
 </form>

post.php


  print_r($_POST['account']);
  // Array ( [id] => 1 [name] => yamada [password] => yamadayamada )
  $account = $_POST['account'];
  $id = $account['id'];
  $name = $account['name'];
  echo $id . ':' . $name;

このように、連想配列で取得できます。

配列で取得する場合と連想配列で取得する場合の使い分け

項目が関連していて複数ある場合は配列、
データをひとまとまりにして加工して表示したりしたい場合は連想配列など、
使い分けることができます。

PHP

Posted by devsakaso