PHP の $_POST 配列内の同じ名前の複数のフォーム フィールドにアクセスするにはどうすればよいですか?

DDD
リリース: 2024-11-26 22:39:18
オリジナル
723 人が閲覧しました

How Can I Access Multiple Form Fields with the Same Name in PHP's $_POST Array?

重複した名前属性を持つフォーム フィールドの POST する

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート