0

私は統計アプリケーションに取り組んでおり、1 日ごとに発生したインタラクションの量を出力したいと考えています。

データベースからすべての情報を取得する多次元配列があります。例を次に示します。

 [0] => Array
            (
                [date] => 2012-07-26
                [location] => 709c6d241674ca22
                [action] => start_scan
            )

        [1] => Array
            (
                [date] => 2012-07-26
                [location] => 709c6d241674ca22
                [action] => scan_displayed
            )

        [2] => Array
            (
                [date] => 2012-07-27
                [location] => 709c6d241674ca22
                [action] => lower_device
            )

        [3] => Array
            (
                [date] => 2012-07-27
                [location] => 709c6d241674ca22
                [action] => how_to_use_displayed
            )

        [4] => Array
            (
                [date] => 2012-07-27
                [location] => 709c6d241674ca22
                [action] => raise_device
            )

        [5] => Array
            (
                [date] => 2012-07-28
                [location] => 709c6d241674ca22
                [action] => scan_displayed
            )

日付をフォーマットすることで、各インタラクションが発生した日を特定できます。

date('D', strtotime('2012-07-26'));

私の質問は、曜日ごとに発生したインタラクションの数を数えて、次のように出力する方法です。

[Sunday] => 2
[Monday] => 3
[Tueday] => 1
[Wednesday] => 5
[Thursday] => 10
[Friday] => 4
[Saturday] => 9

どんな提案でも大歓迎です!

4

1 に答える 1

1
$dates = array();
foreach($data as $item) {
    $day = date('l', $item['date']);
    $dates[$day]++;
}
var_dump($dates);

配列を $dates = array('Monday'=>0, 'Tuesday'=>0 .... ) として宣言して、相互作用のない日を含む配列を取得することができます。

于 2012-08-12T21:40:42.257 に答える