HTML および PHP でフォームを操作する場合、入力要素を配列として保存することが望ましい場合があります。結果の POST データ。ただし、特に要素が動的に追加される場合、これを達成するのは困難な場合があります。
問題: ネストされた要素と配列構造
次のフォーム マークアップを考えてみましょう。
<form> <input type="text" name="levels[level]"> <input type="text" name="levels[build_time]"> <input type="text" name="levels[level]"> <input type="text" name="levels[build_time]"> </form>
このフォームは、次に示すように、ネストされた要素を含む POST 配列を生成します。以下:
Array ( [1] => Array ( [level] => 1 [build_time] => 123 ) [2] => Array ( [level] => 2 [build_time] => 456 ) )
ただし、次のような配列構造を持つ方が便利です:
Array ( [0] => Array ( [level] => 1 [build_time] => 123 ) [1] => Array ( [level] => 2 [build_time] => 456 ) )
解決策: 配列構文
この配列構造を実現するには、次のように入力要素名の末尾に角括弧 [] を追加するだけです。 so:
<input type="text" name="levels[level][]"> <input type="text" name="levels[build_time][]">
この変更により、PHP は入力要素を値の配列として解釈できるようになります。フォームが送信されると、目的の配列構造が得られます。
要素の動的追加
ループを使用してこれらの入力要素を動的に追加できることに注意してください。 「level」要素と「build_time」要素のペアを必要なだけ追加するのは簡単です。
以上がHTML/PHP フォーム入力から配列を作成および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。