我想创建一个数组,其中包含多个存储复选框结果的数组。
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;
}
}
这比你想象的还要容易:
<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) {
// ...
}
}
但是,如果您对不同子类别的预期处理不相似,那么最好将它们发布到不同的数组中。