欢迎访问宙启技术站
智能推送

PHP中如何实现接收多个name相同但Value不相同表单数据

发布时间:2023-05-18 19:58:38

在PHP中,接收多个name相同但Value不相同表单数据可以使用数组形式的输入名称(input name)来实现。例如,一个表单中有多个复选框,它们的名称相同,但是每个复选框的值是不同的,我们可以在表单中将它们的名称定义为一个数组,然后在PHP中使用$_POST数组来接收它们:

HTML代码:

<input type="checkbox" name="fruits[]" value="apple"> Apple<br>
<input type="checkbox" name="fruits[]" value="banana"> Banana<br>
<input type="checkbox" name="fruits[]" value="orange"> Orange<br>

在PHP中使用 $_POST 数组接收数据:

$selected_fruits = $_POST['fruits'];
foreach ($selected_fruits as $fruit) {
    echo $fruit."<br>";
}

输出结果:

apple
banana
orange

在上面的代码中,我们使用$_POST['fruits']来接收表单中的数据,并将其存储到$selected_fruits数组中。然后,我们使用foreach循环遍历数组,输出每个被选中的水果。

除了使用数组形式的输入名称,我们还可以使用在输入名称后添加中括号[]的方式来实现。例如,我们可以将下拉列表的名称定义为"fruits[]":

HTML代码:

<select name="fruits[]">
    <option value="apple">Apple</option>
    <option value="banana">Banana</option>
    <option value="orange">Orange</option>
</select>

在PHP中使用$_POST数组接收数据:

$selected_fruits = $_POST['fruits'];
foreach ($selected_fruits as $fruit) {
    echo $fruit."<br>";
}

输出结果:

apple
banana
orange

总结:

在PHP中,接收多个name相同但value不相同的表单数据可以使用数组形式的输入名称或在输入名称后添加中括号[]的方式来实现。我们可以使用$_POST数组来接收表单数据,并使用for循环或foreach循环来遍历数组,以获取我们想要的数据。