本記事では、フォームでデータする際に配列・連想配列で送信する方法について解説しています。
PHPの学習におすすめ書籍
独習PHP 第4版

メリット
- PHPの基本構文からクラス・データベース連携・セキュリティまで学べる
- PHPによるWebアプリ開発の基礎・基本テクニックを学べる


Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!



初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード


メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)


目次
配列でデータを送信
配列でデータを送信する方法は以下のとおりです。
<form action="test.php" method="GET">
<input type="text" name="fruits[]">
<input type="text" name="fruits[]">
<input type="text" name="fruits[]">
<button type="submit">データを送信する</button>
</form>


name属性の最後に配列を表す[]を追加します。これによりデータが配列の形で送信されます。
配列で送信されたデータを参照する方法は以下のとおりです。
<?php
print_r($_GET['fruits']);
?>


name属性の[]前に指定した文字列を連想配列のkeyにします。
これで配列に参照することが出来るようになったので、後は参照したいデータが何番目に入っているかを通常の配列と同様に[index]の形で記述します。今回の例ですとリンゴを取得したい場合は[0]番目を指定します。
連想配列でデータを送信
連想配列の構造をしたデータを送信する方法は以下のとおりです。
<form action="test.php" method="GET">
<input type="text" name="fruits[name]">
<input type="number" name="fruits[price]">
<button type="submit">データを送信する</button>
</form>


name属性の最後に[key]を追加します。このkeyは送信されたデータを参照するために必要な情報になるので、送信されるデータを連想させる名前を付けると良いです。
送信されたデータを参照する方法は以下のとおりです。
<?php
print_r($_GET['fruits']);
?>


配列で送信されたデータを参照するのと同様に、name属性の[]前に指定した文字列を連想配列のkeyにします。
次にname属性の最後に付けた[key]を使うことで、それに紐付いてセットされている値を取得することが出来ます。今回の例ですと値段を取得したい場合は[‘price’]を指定します。
関連記事
あわせて読みたい




【PHP】GETとPOSTの使い方・書き方
本記事ではPHPでデータを送信する時に使用するGETメソッドとPOSTメソッドの使い方・書き方について解説しています。 【GETの使い方・書き方】 GETメソッドを使ってデー…