質問は少し複雑に聞こえるかもしれません。
フォームページのフォームの数は可変です。ユーザーはフォームを追加するボタンがあるため、このボタンを押してフォームの数を増やすことができます。また、フォームの名前を「プレフィックス + 増加する番号」フォームにしました。 、「array_1」、「array_2」などですが、ユーザーが追加するフォームの数に依存するため、具体的な数は不確実です。そこで、今度は、array_ で始まるすべてのフォームの値をすべて 1 つにまとめたいと考えています。これを配列で実装しますか?重要な問題は、フォームの数が未定であることです。
私は初心者です。問題を明確に説明できたかどうかわかりません。よろしくお願いします
フォームを追加するかフォーム要素を追加するべきですか
ページ上に N 個のフォームがありますか?
実際に複数のフォームがある場合、私は現在 jquery を使用してすべてのフォーム値を動的に取得し、それらをバックグラウンドに渡します
var postData="";$.each($("from"),function(i, n){ postData += $(n).serialize();});//通过ajax传到后台.
複数のフォームはなく、複数のフォーム変数のみです
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}
いいえ、複数のフォームがあり、複数のフォーム変数しかありません
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}
フォームを追加する必要がありますか?
1 つのページに N 個のフォームがありますか?
実際に複数のフォームがある場合、現在は jquery を使用してすべてのフォーム値を動的に取得し、それらを背景
var postData="";$.each($("from"),function(i, n){ postData += $(n).serialize();});//通过ajax传到后台.
複数のフォーム入力タグの場合は、変数を区別するために name 属性を使用するだけです。
次のように、同じ要素グループの名前を配列に定義するだけです:
aabc3d9b5e1f1dfb5d68cdabd28a9df2 cea3b1d316106fb5bc197c7c440f8825
.........
php の受信は
print_r($_POST['array']);
eb410cad6cc42cd588916c7bbc934575 aabc3d9b5e1f1dfb5d68cdabd28a9df2
.....
php受信は
print_r($ _POST['array']);
このようにできることがわかりました、とても便利です、教えてもらえます、ありがとう!
64f0e3b901c7be949f82baebd570f527 179f28c2485ab91b4836947282f38670
print_r($_POST['array']['a2']);
この方法でのみ入力値を区別できます
複数のフォーム、複数のフォームのみ。変数
foreach(preg_grep('/array_/', array_keys($_POST)) as $k) { res[$k] = $_POST[$k];}$res が必要な結果です
実際、array_number の代わりに array[] という名前を付ければ、それほど手間をかける必要はありません
モデレータの jordan102 が答えました。私の質問、とても感謝しています
。