如何计算同月的数组

时间:2018-03-20 04:28:25

标签: php mysql

$dates = array('2017-03-24 01:48:09', '2017-03-24 11:48:09', '2017-04-07 01:12:19', '2017-04-14 01:49:09', '2017-04-21 01:45:09', '2017-04-28 01:38:09');

如果给出上面的数组..

我正在制作一份报告来监控每月的用户增长情况。我想算一下。每月的参赛作品

4月2日的样本计数

2 个答案:

答案 0 :(得分:1)

$dates = array('2017-03-24 01:48:09', '2017-03-24 11:48:09', '2017-04-07 01:12:19', '2017-04-14 01:49:09', '2017-04-21 01:45:09', '2017-04-28 01:38:09');
$count = array();
foreach ($dates as $d) {
  $count[date('m', strtotime($d))]++;
}
print_r($count);

输出将是:

Array ([03] => 2 [04] => 4 ) 

即:03(March)在给定数组中有2个值。

如果您需要03作为March,请使用:

$count[date('F', strtotime($d))]++;

然后,输出将是:

Array ([March] => 2 [April] => 4 )

答案 1 :(得分:0)

<?php
$dates = array('2017-03-24 01:48:09', '2017-03-24 11:48:09', '2017-04-07 01:12:19', '2017-04-14 01:49:09', '2017-04-21 01:45:09', '2017-04-28 01:38:09');
foreach($dates as $date)
    $year_months[] = date('Y-m', strtotime($date));
var_export($year_months);
var_export(array_count_values($year_months));

输出:

array (
    0 => '2017-03',
    1 => '2017-03',
    2 => '2017-04',
    3 => '2017-04',
    4 => '2017-04',
    5 => '2017-04',
  )array (
    '2017-03' => 2,
    '2017-04' => 4,
  )