php - 使用 PHP 捕获 HTML 多选数组
问题描述
我有两个多项选择声明为:
<form method="post">
<input type="text" name="vcgame[]" id="vcgame_1" value="">
<select name="vccoun[][]" id="vccoun_5" multiple="multiple">
<option value="1">West Indies</option>
<option value="2" selected="selected">India</option>
<option value="3" selected="selected">Australia</option>
</select>
<input type="text" name="vcgame[]" id="vcgame_2" value="">
<select name="vccoun[][]" id="vccoun_9" multiple="multiple">
<option value="4">Italy</option>
<option value="5" selected="selected">Germany</option>
</select>
</form>
我想捕捉 PHP 中的值,像这样
$game_list= $_POST['vcgame'];
$country_list= $_POST['vccoun'];
$game_country= array();
foreach($game_list as $key=>$val)
{
$game_country[$key]= $country_list[$key];
}
但是值是这样的(带有print_r
on $_POST
):
[vcgame] => Array
(
[0] => cricket
[1] => football
)
[vccoun] => Array
(
[0] => Array
(
[0] => 2
)
[1] => Array
(
[0] => 3
)
[2] => Array
(
[0] => 5
)
)
代替:
[vcgame] => Array
(
[0] => cricket
[1] => football
)
[vccoun] => Array
(
[0] => Array
(
[0] => 2
[1] => 3
)
[1] => Array
(
[0] => 5
)
)
如何做到这一点?任何人都可以帮忙吗?提前致谢。
解决方案
尝试将表单上的字段名称更改为您想要获得所需结果的索引:
<form method="post">
<input type="text" name="vcgame[0]" id="vcgame_1" value="">
<select name="vccoun[0][]" id="vccoun_5" multiple="multiple">
<option value="1">West Indies</option>
<option value="2" selected="selected">India</option>
<option value="3" selected="selected">Australia</option>
</select>
<input type="text" name="vcgame[1]" id="vcgame_2" value="">
<select name="vccoun[1][]" id="vccoun_9" multiple="multiple">
<option value="4">Italy</option>
<option value="5" selected="selected">Germany</option>
</select>
</form>
然后$_POST
输出是:
Array
(
[vcgame] => Array
(
[0] => cricket
[1] => football
)
[vccoun] => Array
(
[0] => Array
(
[0] => 2
[1] => 3
)
[1] => Array
(
[0] => 5
)
)
)
甚至像这样:
<input type="text" name="data[0][vcgame]" id="vcgame_1" value="">
<select name="data[0][vccoun][]" id="vccoun_5" multiple="multiple">
...
<input type="text" name="data[1][vcgame]" id="vcgame_2" value="">
<select name="data[1][vccoun][]" id="vccoun_9" multiple="multiple">
Array
(
[data] => Array
(
[0] => Array
(
[vcgame] => cricket
[vccoun] => Array
(
[0] => 2
[1] => 3
)
)
[1] => Array
(
[vcgame] => football
[vccoun] => Array
(
[0] => 5
)
)
)
)
推荐阅读
- hashtable - 嵌套开关案例中的 C++ 哈希表问题
- python - 优化独立 N 体仿真的方法
- c++ - 在 Atom 中安装包时如何在环境变量中设置路径?
- excel - 在 Excel 中复制和粘贴图像会锁定参考
- css - 选项卡中的 cshtml、css、引导选项卡
- java - 在 Java 中将 Pageable 转换为 List 时出错
- reactjs - 使用 google 帐户注册基于 Firebase 的 Web 应用
- python - 反转大型迭代器的有效方法
- wpf - WPF:telerik:RadGridView - 如何按用户调整高度?
- ios - 为什么http请求被意外重定向到https?