我有这样的问题。在我的表单中,我将其作为复选框:
<input type="checkbox" name="access[1]" value="E01">Highway 1<br><br>
<input type="checkbox" name="access[1][]" value="C001" > C001<br>
<input type="checkbox" name="access[1][]" value="C002" > C002
<br>
<br>
<input id="access[2]" type="checkbox" name="access[2]" value="E03">Highway 2<br><br>
<input id="access[2]" type="checkbox" name="access[2][]" value="XXXX"> XXXX
<br>
<br>
<input id="access[3]" type="checkbox" name="access[3]" value="E05">Highway 3<br><br>
<input id="access[3]" type="checkbox" name="access[3][]" value="XXXX"> XXXX<br>
<br>
在我的PHP代码中,我得到了这个:
foreach ($_POST ["access"] as $id => $subs) {
foreach ($subs as $sub) {
$subcategory = $sub;
echo "<p>".$id." - ".$subs." - ".$subcategory."</p>";
}
}
结果是这样的:
http://s12.postimage.org/f2xi0yz4p/data4.png
您看到的数组应该是表单中的值吗?像“E01”/“E03”/“E05”。我怎样才能将“数组”这个词作为主要类别?
预期输出应该类似于:
1 - E01 - C0001
2 - E01 - C0002
3 - E03 - XXXX
4 - E05 - XXXX
由于
答案 0 :(得分:0)
您需要将access[1]
和access[2]
重命名为:access[1][id]
access[2][id]
,因为access[1]
/ access[2]
会自动转换为通过以下输入的数组。
然后你可以访问这些变量:
foreach ($_POST ["access"] as $id => $subs) {
foreach ($subs as $key=>$sub) {
if($key!='id'){
$subcategory = $sub;
echo "<p>".$id." - ".$subs['id']." - ".$subcategory."</p>";
}
}
}