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