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