1

我想创建一个包含多个存储复选框结果的数组的数组。

category->subcategory->choice

我不确定这是否可能,但我可能想要这样的东西:

<input type="hidden" name="category[]" />
<input type="checkbox" name="subcat1[]" value="something" />
<input type="checkbox" name="subcat1[]" value="somewhere" />
<input type="checkbox" name="subcat2[]" value="something" />
<input type="checkbox" name="subcat2[]" value="somewhere" />

我希望能够像这样使用 PHP 来遍历类别数组循环:

foreach($_POST['category'] as $sub){
    switch($sub){
        case 'subcat1':
            foreach($sub as $val){
                //prepare $val to insert into database X
            }
            break;
        case 'subcat2':
            foreach($sub as $val){
                //prepare $val to insert into database Y
            }
            break;
    }
}
4

1 回答 1

1

它比你想象的还要容易:

<input type="checkbox" name="category[subcat1][]" value="something" />
<input type="checkbox" name="category[subcat1][]" value="somewhere" />
<input type="checkbox" name="category[subcat2][]" value="something" />
<input type="checkbox" name="category[subcat2][]" value="somewhere" />

进而:

foreach($_POST['category'] as $subCategoryName) {
    foreach ($subCategoryName as $item) {
        // ...
    }
}

如果您对不同子类别的预期处理不相似,那么将它们发布到不同的数组会更好。

于 2012-07-03T19:17:59.647 回答