PHP でのフォーム配列データの抽出と処理
複数のインスタンスを持つフォーム入力を処理する場合、データを抽出して構造化配列に編成することができます。必要。この記事では、さらなる処理を容易にするために、フォーム入力配列を多次元配列に変換する方法を説明します。
フォーム配列構造を理解する
複数の名前セットを持つ次のフォームを考えてみましょう。および電子メール フィールド:
<input type="text" name="name[]" /> <input type="text" name="email[]" /> <input type="text" name="name[]" /> <input type="text" name="email[]" /> <input type="text" name="name[]" /> <input type="text" name="email[]" />
送信されると、サーバー側の PHP スクリプトは、名前付きフィールドごとに配列を受け取ります。この場合、$_POST['name'] と $_POST['email'] は両方とも配列です。
個々の要素へのアクセス
これらの個々の値にアクセスするには配列の場合は、単純な foreach ループを使用できます。ただし、要素は現在、名前と電子メールのペアに編成されていません:
$name = $_POST['name']; $email = $_POST['email']; foreach($name as $v) { print $v; } foreach($email as $v) { print $v; }
これにより、すべての名前の値が出力され、その後にすべての電子メールの値が出力されるため、それらをペアにすることが困難になります。
多次元配列の作成
データを多次元配列に編成するには、以下に基づいて配列を結合します。彼らの鍵の上に。次のコードはこれを行います:
foreach( $name as $key => $n ) { print "The name is " . $n . " and email is " . $email[$key] . ", thank you\n"; }
このループは両方の配列を反復処理し、名前と電子メールの値の間の関連付けを維持します。 $key 変数を使用することで、対応する要素が一致していることを確認します。
複数のフォーム フィールドの処理
上記の例は、より多くのフォーム フィールドを処理するように簡単に拡張できます。 :
foreach( $name as $key => $n ) { print "The name is " . $n . ", email is " . $email[$key] . ", and location is " . $location[$key] . ". Thank you\n"; }
このようにして、PHP で複数のフォーム入力データのセットを効率的に抽出して整理できます
以上がPHP で複数のフォーム入力配列を効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。