Php 将单个复选框值指定为数组

Php 将单个复选框值指定为数组,php,checkbox,Php,Checkbox,是否有方法将复选框的值指定为数组 我有很多复选框,其中一个是all选项。我想将此值设置为数组 我尝试过使用一个简单的循环从我的对象数组中创建一个int(id)数组,然后在值中使用print\r(我知道这有点难看,我可以理解为什么这不起作用,但似乎找不到正确的语法) $arrAllID=array(); foreach($objASRDCallBackGroup中的可用组) { $arrAllID[]=$OBJASRDRCallbackGroup->m_iGroupID; } 您可以使用HTML5

是否有方法将复选框的值指定为数组

我有很多复选框,其中一个是all选项。我想将此值设置为数组

我尝试过使用一个简单的循环从我的对象数组中创建一个int(id)数组,然后在值中使用print\r(我知道这有点难看,我可以理解为什么这不起作用,但似乎找不到正确的语法)

$arrAllID=array();
foreach($objASRDCallBackGroup中的可用组)
{
$arrAllID[]=$OBJASRDRCallbackGroup->m_iGroupID;
}

您可以使用HTML5数据属性来存储值数组。我不太熟悉PHP,但是data属性将在客户端上呈现,如果单击此复选框,您可以在data属性中循环数组,并执行任何需要将数据发送回服务器的操作

<input id="group-name" data-allid="<?php print_r($arrAllID) ?>" name="SelectedGroups[]" type="checkbox">All

function someClickHandler() {
     var chkGroupName = document.getElementById('group-name');
     var allIds = chkGroupName.attr('data-allid');
    // do what you need with the array of ids.
}

您应该只给它一个
name=“allChecked”
,然后在您的post脚本表单中检查它
if(isset($\u post['allChecked')){}
是的,这是一种方法,但我想避免,因为它将两个文件耦合在一起,即从allChecked更改为allGroups会在两个地方强制执行更改。如果这是不可避免的,那么我会同意。谢谢你的意见,非常感谢!我真的不明白为什么你必须把所有的ID都放在值中。。。它们对后期脚本没有用处。如果你想通过点击这个复选框来勾选所有复选框,那么就选择一个javascript解决方案。好吧,我只是想让它作为一个值数组发送,我可以使用另一面,但我会解决它,因为我认为你们是对的,这可能不是正确的方法。谢谢,这是一个很好的解决方案,我会考虑做类似的事情,或者把我的设计改成更合适的。。谢谢
<input id="group-name" data-allid="<?php print_r($arrAllID) ?>" name="SelectedGroups[]" type="checkbox">All

function someClickHandler() {
     var chkGroupName = document.getElementById('group-name');
     var allIds = chkGroupName.attr('data-allid');
    // do what you need with the array of ids.
}