所以我通过post函数创建了一个表单,向我发送了几个值。
$_POST[groups]
使用4个不同的复选框值1,2,4和8发送给我。
$_POST[retailgroup]
执行相同操作,但只执行值1,2和4。
问题是我希望这些加起来然后将值的总和发送到MySQL表。
我已经设法使用以下foreach循环来做一个:
foreach ( $_POST as $val ) {
foreach ( $val as $key=>$final_val ) {
$group = $group+$final_val;
}
}
当我需要将这两者分开时,问题就开始了,因为它们会进入表中的不同列。
要清楚我已经为不同的组分配了不同的值(总是将prev值乘以2,就像计算二进制一样),如1,2,4和8.通过将它们加在一起,我可以通过执行确定组中的成员资格减法“向后”。由于存在不同类型的组,我希望它们分为表格的两个单独字段。
我希望一切都清楚。
关于如何做到这一点的任何想法?
答案 0 :(得分:3)
你想用:
$groups_sum = array_sum($_POST['groups']);
$rgroups_sum = array_sum($_POST['retailgroups']);
在这种情况下,这比foreach
循环更快更清晰。
答案 1 :(得分:0)
试
foreach ( $_POST[groups] as $key=>$final_val ) {
//do stuff for first group
}
foreach ( $_POST[retailgroup] as $key=>$final_val ) {
//do stuff for second group
}
之后你可以用从循环
获得的变量做任何你想做的事情答案 2 :(得分:0)
$groups = array_sum($_POST['groups']);
$retailGroups = array_sum($_POST['retailgroup']);
您可以像这样检查会员资格,而不是向后减去:
$groupAdmin = 4;
if($groups & $groupAdmin) {
// is admin
}