首頁 >後端開發 >php教程 >如何在 HTML/PHP 表單中建立和處理陣列輸入?

如何在 HTML/PHP 表單中建立和處理陣列輸入?

Patricia Arquette
Patricia Arquette原創
2024-12-04 06:47:17528瀏覽

How to Create and Handle Array Input in HTML/PHP Forms?

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn