0

次のような配列の配列があります。

array('0'=> 
            array(
           'fromDate' =>2007,
           'toDate' => 2008,
           'value' => 7)
      '1'=>
            array(
            'fromDate' =>2010,
            'toDate' => ,
            'value' => 3)
      '2'=>
            array(
            'fromDate' => 2007,
            'toDate' => ,  
            'value' => 4))

「値」をカウントしたいので、次のように「fromDate」でグループ化して合計します。

array('0' =>
             array(
             'fromDate' => 2007,
             'sum' => 2)
      '1' =>
            array(
            'fromDate' => 2010,
            'sum' => 1))

どんな助けでも大歓迎です!

4

2 に答える 2

1

2007 などの "fromDate" を含む配列の数を数えたい場合:

function countByFromDate($array) {
  $result = array();
  foreach($array as $item) {
    $fromDate = $item['fromDate'];
    if (!isset($result[$fromDate])) {
      $result[$fromDate] = array('fromDate' => $fromDate, 'sum' => 0);  
    }
    $result[$fromDate]['sum']++;
  }

  return $result; 
}
于 2013-04-08T09:42:16.227 に答える