首頁 >後端開發 >php教程 >如何存取 PHP 的 $_POST 數組中同名的多個表單欄位?

如何存取 PHP 的 $_POST 數組中同名的多個表單欄位?

DDD
DDD原創
2024-11-26 22:39:18813瀏覽

How Can I Access Multiple Form Fields with the Same Name in PHP's $_POST Array?

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

在PHP 中透過POST 要求傳送表單資料時,可能會遇到多個輸入元素共用相同名稱的情況屬性。這就提出了一個問題:

你能從 $_POST 陣列中存取所有同名欄位的值嗎?

答案是不能。只有具有給定名稱的最後一個輸入元素在 $_POST 中可用。

要解決此限制,您應該使用 name="foo[]" 作為輸入名稱屬性。這將在 $_POST 中產生一個數組,其中包含具有相同名稱的輸入元素的所有值。例如:

<form method="post">
    <input name="a[]" value="foo">
    <input name="a[]" value="bar">
    <input name="a[]" value="baz">
    <input type="submit">
</form>

在這種情況下,$_POST['a'] 將是一個包含值「foo」、「bar」和「baz」的陣列。

它是需要注意的是,使用不帶 [] 的普通名稱屬性不會導致所需的行為。這是因為 PHP 在遇到重複名稱時會覆寫 $_POST 中的現有值。

如果您仍然需要存取原始表單數據,可以從 file_get_contents('php://input') 提取它。但是,您需要手動將此字串解析為數組。

以上是如何存取 PHP 的 $_POST 數組中同名的多個表單欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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