按日期排序不需要考虑月份:Foreach

时间:2014-02-04 19:21:59

标签: php date foreach google-analytics-api

我想按日期订购我的结果。工作正常,但它按编号命令我的日期,并没有采取月份,所以它显示例如:

  2月1日,2月2日,2月3日,1月25日,1月26日,1月27日,1月28日,1月29日,1月30日,   1月31日

但我想:

  1月25日,1月26日,1月27日,1月28日,1月29日,1月30日,1月31日,2月1日,2月2日,   2月3日

我的代码:

$ga->requestReportData($profileId,array('date'),array('visitors'), '-date'); 

foreach($ga->getResults() as $result)
{
    echo "{period: '" . date('j M Y',strtotime($result->getDate())) . 
         "', Visites: " . $result->getVisitors() . "},\n";
}   

修改

它运行正常但是当我想放入图表时,它并没有按照我想要的顺序排列。

我的图表:

$(function () {
// Use Morris.Area instead of Morris.Line
    Morris.Area({
        element: 'graph-area',
        padding: 10,
        behaveLikeLine: true,
        gridEnabled: false,
        gridLineColor: '#dddddd',
        axes: false,
        fillOpacity:.7,
        data: [<?php

foreach($ga->getResults() as $result)
{
    echo "{period: '".date('j M Y',strtotime($result->getDate()))."', Visites: ".$result->getVisitors()."},\n";}     


?>],
        lineColors:['#E67A77','#79D1CF','#79D1CF'],
        xkey: 'period',
        ykeys: ['Visites'],
        labels: ['Visites'],
        pointSize: 4,
        lineWidth: 2,
        hideHover: 'auto'

    });
});

1 个答案:

答案 0 :(得分:2)

好的,我猜您正在使用Google AnalyticsAPI。

因此,您可以通过在所需列之前添加-对其进行排序,例如:

$ga->requestReportData($profileId,array('date'),array('visitors'), '-date'); 

来自docs

  

要排序的维度或指标。升序默认,在' - '前面的选项用于降序。使用数组组合参数。