ヘルプ: PHP は、フォーム名の文字列の一部を照合して、対応するフォームの値をどのように取得しますか?

WBOY
リリース: 2016-06-23 14:40:13
オリジナル
911 人が閲覧しました

質問は少し複雑に聞こえるかもしれません。
フォームページのフォームの数は可変です。ユーザーはフォームを追加するボタンがあるため、このボタンを押してフォームの数を増やすことができます。また、フォームの名前を「プレフィックス + 増加する番号」フォームにしました。 、「array_1」、「array_2」などですが、ユーザーが追加するフォームの数に依存するため、具体的な数は不確実です。そこで、今度は、array_ で始まるすべてのフォームの値をすべて 1 つにまとめたいと考えています。これを配列で実装しますか?重要な問題は、フォームの数が未定であることです。

私は初心者です。問題を明確に説明できたかどうかわかりません。よろしくお願いします


ディスカッション (解決策) に返信します

フォームを追加するかフォーム要素を追加するべきですか

ページ上に N 個のフォームがありますか?

実際に複数のフォームがある場合、私は現在 jquery を使用してすべてのフォーム値を動的に取得し、それらをバックグラウンドに渡します

var postData="";$.each($("from"),function(i, n){    postData += $(n).serialize();});//通过ajax传到后台.
ログイン後にコピー
ログイン後にコピー

この投稿は 2013 年に xuzuning によって最後に編集されました。 12-28 16:32:56

複数のフォームはなく、複数のフォーム変数のみです

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

$res は必要な結果です

実際、array_number という名前を付ける必要はありませんが、array[]、

いいえ、複数のフォームがあり、複数のフォーム変数しかありません

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

$res は必要な結果です

実際、array_number という名前を付ける必要はありません。ただし、array[] なので、気にする必要はありません

ありがとう、名前が array[] の場合はどうすればよいですか?

フォームを追加する必要がありますか?

1 つのページに N 個のフォームがありますか?

実際に複数のフォームがある場合、現在は jquery を使用してすべてのフォーム値を動的に取得し、それらを背景

var postData="";$.each($("from"),function(i, n){    postData += $(n).serialize();});//通过ajax传到后台.
ログイン後にコピー
ログイン後にコピー

ありがとう、私が言ったことは間違っています。それは複数のフォーム要素、つまり複数のフォームではなく複数の入力タグです

複数のフォーム入力タグの場合は、変数を区別するために name 属性を使用するだけです。

次のように、同じ要素グループの名前を配列に定義するだけです:

.........

php の受信は
print_r($_POST['array']);

次のように同じ要素のグループの名前を配列に定義するだけです:


.....
php受信は
print_r($ _POST['array']);

このようにできることがわかりました、とても便利です、教えてもらえます、ありがとう!


print_r($_POST[ 'array']['a1']);

print_r($_POST['array']['a2']);

この方法でのみ入力値を区別できます


複数のフォーム、複数のフォームのみ。変数

foreach(preg_grep('/array_/', array_keys($_POST)) as $k) {  res[$k] = $_POST[$k];}
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

$res が必要な結果です


実際、array_number の代わりに array[] という名前を付ければ、それほど手間をかける必要はありません
モデレータの jordan102 が答えました。私の質問、とても感謝しています

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