Php 表单数组中的复选框数组

Php 表单数组中的复选框数组,php,html,forms,checkbox,Php,Html,Forms,Checkbox,我正在尝试获取表单数组中的复选框数组。我试图先获取数据作为表单数组,然后获取数组中的复选框数组 <form name="preview" id="post" action="" method="post"> <input type="hidden" name="category[$id]" /> <input type="checkbox" name="subcat[]" value="something" /> <input t

我正在尝试获取表单数组中的复选框数组。我试图先获取数据作为表单数组,然后获取数组中的复选框数组

<form name="preview" id="post" action="" method="post">
    <input type="hidden" name="category[$id]" />
    <input type="checkbox" name="subcat[]" value="something" />
    <input type="checkbox" name="subcat[]" value="somewhere" />
    <input type="checkbox" name="subcat[]" value="something" />
    <input type="checkbox" name="subcat[]" value="somewhere" />

    <input type="hidden" name="category[$id]" />
    <input type="checkbox" name="subcat[]" value="something" />
    <input type="checkbox" name="subcat[]" value="somewhere" />
    <input type="checkbox" name="subcat[]" value="something" />
    <input type="checkbox" name="subcat[]" value="somewhere" />
    <input class="button-primary" name="submit_preview" value="Submit Selected Tees" type="submit">
</form>
if (isset($_POST['submit_preview'])) {
    foreach ( $_POST[ 'category' ] as $id ) {
        foreach ( $_POST[ 'subcat' ][$id] as $subcat ) {
             echo $subcat;
        }
    }
}

Mindreading:您可以在所有类别中获得所有复选框值,但需要按类别进行设置。 ->必须通过“名称”属性将“子类别”复选框链接到类别

$categories:包含类别id和名称的数组:

<form name="preview" id="post" action="" method="post">
<?
foreach ($categories as $cat) { // for each of your categories 4 checkboxes

    echo "<p>category: {$cat['name']}</p>";
    echo "<input type=\"checkbox\" name=\"cat_{$cat['id']}_sub[]\" value=\"something\" /> option 1<br />";
    echo "<input type=\"checkbox\" name=\"cat_{$cat['id']}_sub[]\" value=\"something\" /> option 2<br />";
    echo "<input type=\"checkbox\" name=\"cat_{$cat['id']}_sub[]\" value=\"something\" /> option 3<br />";
    echo "<input type=\"checkbox\" name=\"cat_{$cat['id']}_sub[]\" value=\"something\" /> option 4<br />";
    // name of checkbox if id=1: "cat_1_sub[]"

} // foreach

<input class="button-primary" name="submit_preview" value="Submit Selected Tees" type="submit">
</form>
提交后:

if (isset($_POST['submit_preview'])) {

    foreach ( $_POST as $name => $value) {

        if (substr($name,0,4)=='cat_') echo "$name: $value <br />";

    } // foreach
} // if isset

……问题是?问题是没有问题的问号因为没有问题而被否决。请考虑接受答案。如果事实上回答了你的问题,请点击左边的记号。