HTML/PHP フォームの配列として入力
ユーザー入力を受け取る HTML でフォームを作成する場合、次のことを行う必要がある場合があります。配列構造でデータを収集します。この記事では、PHP 入力名を使用してこれを実現する方法について説明します。
シナリオ:
入力フィールドの複数のペアを含むフォームを考えます。各ペアはレベルで構成されます。そしてbuild_time。望ましい出力は、次のような各ペアが部分配列として格納された配列です:
Array ( [1] => Array ( [level] => 1 [build_time] => 123 ) [2] => Array ( [level] => 2 [build_time] => 456 ) )
最初のアプローチ:
当初、フォームは静的フィールド名を使用していました。 name="levels[level]" など、次のようになります。出力:
[levels] => Array ( [0] => Array ( [level] => 1 ) [1] => Array ( [build_time] => 234 ) [2] => Array ( [level] => 2 ) [3] => Array ( [build_time] => 456 ) )
修正されたアプローチ:
目的の出力形式を取得するには、以下に示すように、入力名の末尾に角括弧を追加する必要があります。 :
<input type="text" class="form-control" placeholder="Titel" name="levels[level][]"> <input type="text" class="form-control" placeholder="Titel" name="levels[build_time][]">
この改訂されたアプローチでは、PHP は正方形の存在に基づいて入力値を部分配列にグループ化します。括弧。結果の配列構造は、期待される形式と一致します。
入力フィールドの動的追加:
この修正されたアプローチにより、入力フィールドを動的に追加できるようになり、指定する必要がなくなります。フォーム要素内のインデックス。 PHP はそれらをサブ配列として自動的に配置し、データを収集するための便利で柔軟な方法を提供します。
使用法:
個々の値を取得するには、PHP 配列構文を使用するだけです。
echo $levels["level"][5]; // Retrieves the 6th level echo $levels["build_time"][5]; // Retrieves the corresponding build time
以上がHTML/PHP フォームで配列入力を作成および処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。