2013-02-18 77 views
4

您好我有2個陣列狀總和數組元素

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" } 
      } 

而且我有不同的(計數)第二陣列值

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" } 
      } 

你能告訴我怎麼我可以得到兩個陣列[「count」]的總和,並得到一個新的陣列,如

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" } 
      } 

謝謝。

+0

你有什麼這麼遠嗎? – jeroen 2013-02-18 17:47:49

+0

你是什麼意思? – 2013-02-18 17:49:49

+0

查看php手冊中的數組函數。 'array_map()'是一個很好的開始。 http://php.net/array_map – dnagirl 2013-02-18 17:50:02

回答

1
$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) ; 
+0

謝謝你爲我效勞很好 – 2013-02-18 18:06:15

+0

不客氣:) – vikingmaster 2013-02-18 18:06:36

0

試試這個

$count1 = array_count_values($array1); 

$count1 = array_count_values($array2); 

$count = $count1 + $count2; 
0
$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']); 
    } 
    } 
} 

應該給你在你指定格式的新數組,$總和。我的假設是你的前兩個數組被稱爲$ array1和$ array2。希望有所幫助。

0
//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']; 

}