在HTML/PHP 表單中作為數組輸入
在HTML 中建立接收使用者輸入的表單時,在某些情況下您可能需要以數組結構收集資料。本文探討如何使用 PHP 輸入名稱來實現此目的。
場景:
考慮一個包含多對輸入欄位的表單,其中每對由一個層級組成和建置時間。所需的輸出是一個數組,其中每對儲存為子數組,類似於以下內容:
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中文網其他相關文章!