string(2) "22" ["hour"]=> string(1) "...">

Sum of 2 array elements with the same keys

Hi, I have 2 arrays like

array(a) { [0]=> array(2) { ["count"]=> string(2) "22" ["hour"]=> string(1) "0" } [1]=> array(2) { ["count"]=> string(2) "17" ["hour"]=> string(1) "1" } [2]=> array(2) { ["count"]=> string(2) "22" ["hour"]=> string(1) "2" } [3]=> array(2) { ["count"]=> string(2) "15" ["hour"]=> string(1) "3" } [4]=> array(2) { ["count"]=> string(2) "15" ["hour"]=> string(1) "4" } } 

And I have a second array with different values โ€‹โ€‹(count)

  array(b) { [0]=> array(2) { ["count"]=> string(2) "12" ["hour"]=> string(1) "0" } [1]=> array(2) { ["count"]=> string(2) "36" ["hour"]=> string(1) "1" } [2]=> array(2) { ["count"]=> string(2) "59" ["hour"]=> string(1) "2" } [3]=> array(2) { ["count"]=> string(2) "5" ["hour"]=> string(1) "3" } [4]=> array(2) { ["count"]=> string(2) "27" ["hour"]=> string(1) "4" } } 

Could you tell me how I can get the sum ["count"] s of both arrays and get a new array like

  array(c) { [0]=> array(2) { ["count"]=> string(2) "34" ["hour"]=> string(1) "0" } [1]=> array(2) { ["count"]=> string(2) "53" ["hour"]=> string(1) "1" } [2]=> array(2) { ["count"]=> string(2) "81" ["hour"]=> string(1) "2" } [3]=> array(2) { ["count"]=> string(2) "20" ["hour"]=> string(1) "3" } [4]=> array(2) { ["count"]=> string(2) "42" ["hour"]=> string(1) "4" } } 

Thanks.

+4
source share
4 answers
 $result_array = array() ; for ($i = 0, $length = count($a_array) ; $i < $length ; $i++){ $result_array[$i] = $a_array[$i] ; $result_array[$i]["count"] += $b_array[$i]['count'] ; } var_dump($result_array) ; 
+1
source

try it

 $count1 = array_count_values($array1); $count1 = array_count_values($array2); $count = $count1 + $count2; 
0
source
 $sum = array(); foreach($array1 as $k=>$v) { foreach($array2 as $k1=>$v1) { if($v['hour'] == $v1['hour']) { $sum[] = array('count'=> ($v['count'] == $v1['count']), 'hour' => $v['hour']); } } } 

Should give you a new $ sum array in the specified format. My assumptions are that your first 2 arrays are called $ array1 and $ array2. Hope this helps.

0
source
 //new array to hold answers $array_results=array(); //loop through first array foreach ($array_first as $key=>$v){ //use key of current element to get corresponding value from second array //add them together and add into combined array $array_results[]=$v['count']+$array_second[$key]['count']; } 
0
source

All Articles