Php 复选框进入数组处理

Php 复选框进入数组处理,php,arrays,Php,Arrays,我有这样的问题。在我的表格中,我将此作为复选框: <input type="checkbox" name="access[1]" value="E01">Highway 1<br><br> <input type="checkbox" name="access[1][]" value="C001" >&nbsp;C001<br> <input type="checkbox" name="access[1][]" value

我有这样的问题。在我的表格中,我将此作为复选框:

<input type="checkbox" name="access[1]" value="E01">Highway 1<br><br>
<input type="checkbox" name="access[1][]" value="C001" >&nbsp;C001<br>
<input type="checkbox" name="access[1][]" value="C002" >&nbsp;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">&nbsp;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">&nbsp;XXXX<br>
<br>
在我的PHP代码中,我得到:

foreach ($_POST ["access"] as $id => $subs) {       

    foreach ($subs as $sub) {

        $subcategory = $sub;

        echo "<p>".$id." - ".$subs." - ".$subcategory."</p>";

    }

}
结果是这样的:

您看到的数组应该是表单中的值,对吗?像E01/E03/E05。如何使数组字成为主类别

预期输出应类似于以下内容:

1-E01-C0001 2-E01-C0002 3-E03-XXXX 4-E05-XXXX

谢谢

您需要将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>";
        }
    }

}

你这是什么意思?我如何将数组字作为主类别?你可以在这里看到:输出是数组,我想让它看起来像E01/E03,正如你从字段中看到的,作为主类别。你想要与此链接中提到的相同的输出,或者预期的输出不同??我仍然不明白你所说的主类别是什么意思,它是否像我不知道的某个PHP关键字?或者只是你的代码中你认为我们已经知道的东西?你能写出预期的输出吗?好的,我添加了预期的输出。你给出的代码正是我需要的。但我做了一些调整,使其符合我的需要。稍后我会更新答案。