(PHP) formで配列をPOSTする

(PHP) formで配列をPOSTする

 

 

本記事では、PHPにおいて
formで配列をPOSTする方法を解説する。

 

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

PHPでデータを配列にしてフォームを送信する方法は、以下の2パターンがある。

PHPでデータを配列にしてフォームを送信する方法2パターン
  1. 配列名にキーを指定しないで送信する方法(通常配列)
  2. 配列名にキーを指定して送信する方法(連想配列)

 

それぞれの方法を順に解説していく。

 

① 配列名にキーを指定しないで送信する方法(通常配列)

一つめの方法は、
配列名にキーを指定しないで送信する方法(通常配列)だ。

以下の様なフォームを例に紹介していく。

■フォーム

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

 

■受け取り側(get.php)

print_r($_GET['memo']);

//実行結果
Array ( [0] => メモ1 [1] => メモ2 [2] => メモ3 )

 

上記「name=memo[]」の様に、input要素のnameの値を配列形式で書くことで、配列のかたちでデータを取得することが可能となる。

 

①通常配列でformの値をPOSTする

name=変数名[]

 

 

② 配列名にキーを指定して送信する方法(連想配列)

二つめの方法は、
配列名にキーを指定して送信する方法(連想配列)だ。

■フォーム

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

 

■受け取り側(post.php)

print_r($_POST['user']);

//実行結果
Array ( [id] => 1 [name] => kihara [password] => satoshi1234 )

 

①の方法と比較して異なる点は、配列形式にして記載したnameの値にキーを指定していることだ。

キーを指定することで、受け取り側では連想配列の様にしてデータを受け取ることが可能となる。

ある程度のまとまりを持ってデータを送信したい時などに使うと、データの管理が分かりやすくなり便利な機能だ。

 

②連想配列でformの値をPOSTする

name=変数名[キー]

 

関連記事

(PHP) GETとPOSTの違い【適切な使い分け方も解説】
(PHP) 全マジック定数の 使い方一覧 【__FILE__や__DIR__など】

 

https://www.php.net/manual/ja/reserved.variables.post.php

https://www.php.net/manual/ja/language.types.array.php

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。