2010-08-11 73 views
1

所以我創建了一個表格至極,通過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; 
    } 
} 

的問題時,我需要有這兩個彼此分開,因爲他們要爲單獨列在表中開始。

要清楚我已經分配了不同的組不同的值(總是取一個先前值乘以2,就像計數二進制)樣1,2,4和8通過添加在一起我可以通過確定在所述組的成員資格做一個減法「倒退」。由於有不同種類的組,我希望它們分成兩個獨立的表格字段。

我希望一切都清楚了。

任何想法如何做到這一點?

回答

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 
} 

和之後,你可以讓你想要的任何與變量從循環中得到

3

要使用:

$groups_sum = array_sum($_POST['groups']); 
$rgroups_sum = array_sum($_POST['retailgroups']); 

這將是比一個更快,更清晰foreach循環在這種情況下。

+1

你幾秒打我給它。 – Joseph 2010-08-11 21:18:37

0
$groups = array_sum($_POST['groups']); 
$retailGroups = array_sum($_POST['retailgroup']); 

你可以這樣檢查的成員,而不是向後減去:

$groupAdmin = 4; 
if($groups & $groupAdmin) { 
    // is admin 
}