具有相同名称属性的过帐表单字段

具有相同名称属性的过帐表单字段,第1张

具有相同名称属性的过帐表单字段

否。仅最后一个输入元素可用。

如果要使用相同名称的多个输入,请使用

name="foo[]"
输入名称属性。
$_POST
然后将包含foo的数组,其中包含来自输​​入元素的所有值。

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

$_POST
如果不使用
[]
则仅包含最后一个值的原因是因为PHP基本上只会爆炸并遍历要填充的原始查询字符串
$_POST
。当遇到已经存在的名称/值对时,它将覆盖前一个。

但是,您仍然可以像这样访问原始查询字符串:

$rawQueryString = file_get_contents('php://input'))

假设您具有这样的形式:

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

rawQueryString
然后$ 将包含
a=foo&a=bar&a=baz

然后,您可以使用自己的逻辑将其解析为一个数组。天真的方法是

$post = array();foreach (explode('&', file_get_contents('php://input')) as $keyValuePair) {    list($key, $value) = explode('=', $keyValuePair);    $post[$key][] = $value;}

这将为您提供查询字符串中每个名称的数组数组。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5053241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存