ホームページ >バックエンド開発 >PHPチュートリアル >PHP の `$_POST` 配列は同じ名前の複数のフォーム フィールドを処理できますか?
重複した名前属性を持つフォームフィールドの送信
質問:
次の内容を含むフォームを送信する場合同じ name 属性を持つ複数のテキスト入力フィールドがあっても、すべてのフィールド値をPHP の $_POST 配列?
答え:
いいえ、同じ名前を持つ最後の入力要素の値のみが $_POST 配列に保存されます。
理由:
PHP は$_POST 配列を作成するには、生のクエリ文字列を個々の名前と値のペアに分解します。同じ名前を持つ複数の名前と値のペアが見つかった場合、前の値を新しい値で上書きします。
代替:
同じ名前で複数の入力を処理するにはname:
未加工のクエリ文字列:
未加工のクエリ文字列を使用する場合は、次のようなスクリプト:
$post = array(); foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) { list($key, $value) = explode('=', $keyValuePair); $post[$key][] = $value; }
以上がPHP の `$_POST` 配列は同じ名前の複数のフォーム フィールドを処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。