1
Array
(
    [0] => Array
        (
            [linkId] => 1
            [clicksDate] => 1340856000
            [clicksCount] => 1
        )

    [1] => Array
        (
            [linkId] => 1
            [clicksDate] => 1340942400
            [clicksCount] => 2
        )

    [2] => Array
        (
            [linkId] => 1
            [clicksDate] => 1340942400
            [clicksCount] => 1
        )

    [3] => Array
        (
            [linkId] => 2
            [clicksDate] => 1340856000
            [clicksCount] => 2
        )

    [4] => Array
        (
            [linkId] => 2
            [clicksDate] => 1340942400
            [clicksCount] => 3
        )

    [5] => Array
        (
            [linkId] => 2
            [clicksDate] => 1340942400
            [clicksCount] => 1
        )

    [6] => Array
        (
            [linkId] => 3
            [clicksDate] => 1340856000
            [clicksCount] => 0
        )
}

出力:

Array(

    [0] => Array(  
       [clicksDate] => 1340856000,
       [clicksCount] => 3
     )

    [1] => Array(  
       [clicksDate] => 1340942400,
       [clicksCount] => 7
     )
)

2つの類似した日付を持つ最初の配列、日付の繰り返しに基づいて、クリック数を合計する必要があります。誰かが簡単な解決策を見つけるのを手伝ってくれますか?

4

1 に答える 1

4

日付を連想配列のキーに設定してから、次のようにクリック数を値として合計できます。

$result = array();
foreach ($data as $value) {
    if (!isset($result[$value['clicksDate']])) {
        $result[$value['clicksDate']] = 0;
    }
    $result[$value['clicksDate']] += $value['clicksCount'];
}
var_dump($result);

ここで実際の動作を確認してください:http://codepad.org/tJEBTobr

于 2012-06-29T14:01:11.637 に答える