Answers:
更改输入的名称:
<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”的项目数组来让服务器处理该信息。
请注意,这可能是错误的解决方案。显然,这取决于您发送的数据。
address[0][street]
address[0][city]
address[0][zip]
,address[1][street]
address[1][city]
address[1][zip]
......你可以读到这些$_POST['address'][0]['city']
,例如
[]
,例如[0]
。这使得HTML更加难以生成,但是在PHP端读取数据并不困难
在您的html中,您可以传入名称数组
<input type="text" name="address[]" />
这样,php将接收一个地址数组。
Eric的回答是正确的,但问题是字段未分组。假设您有多条街道和城市属于同一条街道:
<h1>First Address</h1>
<input name="street[]" value="Hauptstr" />
<input name="city[]" value="Berlin" />
<h2>Second Address</h2>
<input name="street[]" value="Wallstreet" />
<input name="city[]" value="New York" />
结果将是
$POST = [ 'street' => [ 'Hauptstr', 'Wallstreet'],
'city' => [ 'Berlin' , 'New York'] ];
要将它们按地址分组,我宁愿建议使用Eric在评论部分中也提到的内容:
<h1>First Address</h1>
<input name="address[1][street]" value="Hauptstr" />
<input name="address[1][city]" value="Berlin" />
<h2>Second Address</h2>
<input name="address[2][street]" value="Wallstreet" />
<input name="address[2][city]" value="New York" />
结果将是
$POST = [ 'address' => [
1 => ['street' => 'Hauptstr', 'city' => 'Berlin'],
2 => ['street' => 'Wallstreet', 'city' => 'New York'],
]
]
对于任何其他发现此问题的人-值得注意的是,您可以在输入名称中设置键值。多亏具有相同名称属性的POSTing Form Fields中的答案,您还可以在不使用引号的情况下交互字符串或整数。
答案假定您不介意PHP返回的键值,但是您可以设置name=[yourval]
(字符串或整数),然后允许您引用现有记录。
有可能:
echo "Welcome".$_POST['firstname'].$_POST['lastname'];