首頁 > 後端開發 > php教程 > PHP 的 `$_POST` 陣列可以處理同名的多個表單欄位嗎?

PHP 的 `$_POST` 陣列可以處理同名的多個表單欄位嗎?

Linda Hamilton
發布: 2024-11-24 19:48:12
原創
1000 人瀏覽過

Can PHP's `$_POST` Array Handle Multiple Form Fields with the Same Name?

提交具有重複名稱屬性的表單欄位

問題:

問題:

提交包含以下內容的表單時多個文字輸入欄位具有相同的名稱屬性,是否仍可從PHP 中的$_POST數組?

答案:

不會,只有最後一個同名輸入元素的值才會儲存在 $_POST 陣列中。

原因:

PHP 填入$_POST 數組,將原始查詢字串分解為單獨的名稱-值對。當它遇到多個具有相同名稱的名稱-值對時,它會用新值覆蓋先前的值。

替代方案:
  • 用相同的值處理多個輸入name:
使用帶有附加數組語法的名稱屬性(例如, name="foo[]")。

使用 $rawQueryString = file_get_contents('php://input') 直接存取原始查詢字串。

解析原始查詢字串:
$post = array();
foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {
    list($key, $value) = explode('=', $keyValuePair);
    $post[$key][] = $value;
}
登入後複製
如果使用原始查詢字串,您可以使用類似的腳本手動解析它至:

以上是PHP 的 `$_POST` 陣列可以處理同名的多個表單欄位嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板