在php中通过POSTinput多个相同的名称

是否有可能获得相同名称的多个input,然后从PHP访问它们? 这个想法是这样的:我有一个表单,允许input不确定数量的物理地址以及其他信息。 如果我简单地给每个这些字段在几个条目中给出相同的名字并通过邮件提交这些数据,PHP是否能够访问它?

比如说,我在一个名为“xyz”的页面上有五个input,我想用PHP访问它们。 我可以做些什么:

$_POST['xyz'][0] 

如果是这样,这将使我的生活更容易十倍,因为我可以通过表单发送无限量的信息,并通过循环访问名为“xyz”的项目数组来处理服务器。

更改input的名称:

 <input name="xyz[]" value="Lorem" /> <input name="xyz[]" value="ipsum" /> <input name="xyz[]" value="dolor" /> <input name="xyz[]" value="sit" /> <input name="xyz[]" value="amet" /> 

然后:

 $_POST['xyz'][0] == 'Lorem' $_POST['xyz'][4] == 'amet' 

如果是这样,这将使我的生活更容易十倍,因为我可以通过表单发送无限量的信息,并通过循环访问名为“xyz”的项目数组来处理服务器。

请注意,这可能是错误的解决scheme。 显然,这取决于你发送的数据。

在你的HTML中,你可以传入一个数组名称即

 <input type="text" name="address[]" /> 

这种方式PHP将收到一个地址arrays。

对于其他人的发现 – 值得注意的是,您可以在input名称中设置键值。 感谢带有相同名称属性的POST表单域中的答案,您也可以相互影响string或整数而不用引用。

答案假设你不介意PHP返回的关键值,但是你可以设置name=[yourval] (string或者int),然后你可以引用一个已经存在的logging。