2011-01-24 10 views
0

これを理解するためには本当に助けが必要です。複数の配列をマージする

私はいくつかの配列を持っており、それらのいくつかをマージしたいと思います。次のようになります。

  while ($row = $db->fetch_array($result_set)) { 
       $year   = $row['year(Tidspunkt)']; 
       $month_num  = $row['month(Tidspunkt)']; 
       $month  = $cal->name_of_month($row['month(Tidspunkt)']); 
       $type   = $row['Klubtype']; 
       $visits   = $row['count(Handling)']; 
       $days_in_month = $cal->days_in_month($month_num,$year); 
       $avg   = $visits/$days_in_month; 
       $object_array[]= array('month' => $month , 'visits' => $visits, 'type' => $type, 'avg' => $avg); 
      } 
      return $month_array; 

と出力この

Array ( 
    [0] => Array ([month] => Januar [visits] => 891 [type] => FK [avg] => 28.7419354839) 
    [1] => Array ([month] => Januar [visits] => 23 [type] => UK [avg] => 0.741935483871) 
) 

のように見える今、私は月の値に基づいて、これら二つの配列をマージしたいと思います。私が1年間アレイを持っていると想像してみてください。それでは、24個の代わりに12個の配列を持つといいです。

私を助けてくれてありがとう。私は、これはあなたが望むかもしれないと思う

答えて

1

...

$newArray = array(); 

foreach($array as $value) { 

    $month = $value['month']; 
    unset($value['month']); 
    $newArray[$month][] = $value; 
} 

これは...のようなあなたに

Array ( 
    ['Januar'] => Array (
     [0] => Array([visits] => 891 [type] => FK [avg] => 28.7419354839) 
     [1] => Array ([visits] => 23 [type] => UK [avg] => 0.741935483871) 
) 
+0

を何かを与えることは、仕事をしていませんが、私は月持つ心配です値は「キー」であり、値ではありません。お分かりでしょうが? – nickifrandsen

+0

@nickifrandsenなぜそれはあなたに関係していますか?それがキーでない場合は、一意のキーが必要になります。 '1月=> 1 '。 – alex

+0

私はその月をエコーアウトしたいので、私に心配しています。私はそれが意味をなさないかどうかわかりません。しかし、私は後で同様のことをすることを知っているので、たとえば「月」をキーに、「1月」を値として持つと便利です。このように '月' => '1月'。これが私のマイナーな懸念を説明することを願っています – nickifrandsen

関連する問題