在$_POST 中取得具有重複名稱的表單欄位值
發布具有多個共享相同名稱屬性的輸入元素的表單時,某些行為會影響PHP 的$_POST中其值的可訪問性
PHP 的行為
通常,只有與最後一個同名輸入元素關聯的值才能在 $_POST 中存取。發生這種情況是因為 PHP 迭代原始查詢字串並覆蓋任何具有重複名稱的現有鍵值對。
解決方案:使用方括號
允許多個輸入元素為了在$_POST 中正確儲存它們的值,請使用屬性name="foo[]"而不是name="foo"。此方法會導致 $_POST 包含一個名為「foo」的數組,其中每個元素儲存來自對應輸入元素的值。
存取原始查詢字串
如果存取單一具有相同名稱的欄位的值至關重要,您也可以使用file_get_contents('php://input' ) 檢索原始查詢字串。此過程可讓您手動解析各個值。
限制和優點
雖然存取原始查詢字串似乎是一種解決方案,但它也有其局限性。與手動解析相比,PHP 自動填入 $_POST 提供了便利性和錯誤預防。然而,使用 file_get_contents('php://input') 提供了更好的控制和靈活性,特別是在處理更複雜的表單結構時。
以上是如何存取 PHP 的 $_POST 數組中具有重複名稱的表單欄位值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!