PHP の POST リクエスト経由でフォーム データを送信する場合、複数の入力要素が同じ名前を共有する状況が発生する可能性があります。属性。ここで次のような疑問が生じます:
$_POST 配列から同じ名前のすべてのフィールドの値にアクセスできますか?
答えは いいえ。指定された名前を持つ最後の入力要素のみが $_POST で使用できます。
この制限を回避するには、入力名属性に name="foo[]" を使用する必要があります。これにより、同じ名前の入力要素からのすべての値を含む配列が $_POST 内に作成されます。例:
<form method="post"> <input name="a[]" value="foo"> <input name="a[]" value="bar"> <input name="a[]" value="baz"> <input type="submit"> </form>
この場合、$_POST['a'] は値 "foo"、"bar"、および "baz" を含む配列になります。
[] なしでプレーンな名前属性を使用すると、望ましい動作が得られないことに注意することが重要です。これは、名前が重複している場合、PHP が $_POST 内の既存の値を上書きするためです。
生のフォーム データにアクセスする必要がある場合は、file_get_contents('php://input') から抽出できます。ただし、この文字列を手動で解析して配列にする必要があります。
以上がPHP の $_POST 配列内の同じ名前の複数のフォーム フィールドにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。