拆分数组与jquery使用


Splitting array to use with jquery flot

我正在用谷歌分析api数据构建一个jquery流线图。我有分析工作,它给了我一个数组,像这样:

 [3] => Array ( [0] => 20160922 [1] => 2217 [2] => 911 ) [4] => Array ( [0] => 20160923 [1] => 2047 [2] => 845 ) [5] => Array ( [0] => 20160924 [1] => 2152 [2] => 924 ) [6] => Array ( [0] => 20160925 [1] => 2502 [2] => 1028 ) [7] => Array ( [0] => 20160926 [1] => 2234 [2] => 877 ) [8] => Array ( [0] => 20160927 [1] => 2020 [2] => 755 ) [9] => Array ( [0] => 20160928 [1] => 1978 [2] => 793 ) [10] => Array ( [0] => 20160929 [1] => 2080 [2] => 867 ) [11] => Array ( [0] => 20160930 [1] => 1632 [2] => 747 ) [12] => Array ( [0] => 20161001 [1] => 1934 [2] => 913 ) [13] => Array ( [0] => 20161002 [1] => 2210 [2] => 1023 ) [14] => Array ( [0] => 20161003 [1] => 2068 [2] => 971 ) [15] => Array ( [0] => 20161004 [1] => 1738 [2] => 918 ) [16] => Array ( [0] => 20161005 [1] => 1787 [2] => 793 ) [17] => Array ( [0] => 20161006 [1] => 1694 [2] => 815 ) [18] => Array ( [0] => 20161007 [1] => 1583 [2] => 813 ) [19] => Array ( [0] => 20161008 [1] => 1906 [2] => 954 ) [20] => Array ( [0] => 20161009 [1] => 1936 [2] => 1047 ) [21] => Array ( [0] => 20161010 [1] => 2188 [2] => 1097 ) [22] => Array ( [0] => 20161011 [1] => 1892 [2] => 938 ) [23] => Array ( [0] => 20161012 [1] => 2036 [2] => 1022 ) [24] => Array ( [0] => 20161013 [1] => 1970 [2] => 915 ) [25] => Array ( [0] => 20161014 [1] => 2044 [2] => 1024 ) 

我似乎不知道如何把这个分离出来使用在jquery中。flot图表。上面的数组有一个日期,然后是访问和页面浏览量,我想把它们放到一个折线图中。所有我需要的帮助是上述数组的一个访问和一个页面浏览量的分离。剩下的我自己能搞定。任何帮助我指出正确的方向将是伟大的!

编辑

我想给一些额外的信息,因为我似乎无法从结果变量中获得上述数组,这是我用来处理谷歌分析api的:

function getResults($analytics, $profileId) {
  // Calls the Core Reporting API and queries for the number of sessions
  // for the last seven days.
    $optParams = array(
        'dimensions' => 'ga:date'
    );
  return $analytics->data_ga->get(
       'ga:' . $profileId,
       '30daysAgo',
       'today',
       'ga:pageviews, ga:sessions',
       $optParams
    );
}
//$profile = $r['google_analytics'];
$profile = '69903642';
$results = getResults($analytics, $profile);

我相信在第一个答案中给出的代码将工作,但现在它正在生成一个空数组。

这段代码应该可以为你工作:

$pageViews = [];
$visits = [];
foreach($data as $key => $item) {
    $pageViews[$key][$item[0]] = $item[2];
    $visits[$key][$item[0]] = $item[1];
}

它会给你两个独立的数组。输出:

array(
    0 => array(
        '20160922' => 911
    )
)
array(
    0 => array(
        '20160922' => 2217
    )
)

你可以稍微修改一下代码:

$pageViews = [];
$visits = [];
foreach($data as $key => $item) {
    $pageViews[$item[0]] = $item[2];
    $visits[$item[0]] = $item[1];
}

输出如下:

array(
    '20160922' => 2217,
    ......
)