如何访问 PHP 的 $_POST 数组中同名的多个表单字段?

DDD
发布: 2024-11-26 22:39:18
原创
723 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板