[英]Turn PHP array into javascript array to pass to jQuery.flot for charting
[英]Splitting array to use with jquery flot
我正在用Google Analytics(分析)API數據構建一個jQuery Flot折線圖。 我的分析工作正常,它給了我這樣的數組:
[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圖表中使用。 上面的數組中有一個日期,接着是我要放入折線圖中的訪問和綜合瀏覽量。 我需要幫助的是將上述數組分成一個訪問頁面和一個頁面訪問頁面。 其余的我可以解決。 任何幫助我指明正確方向的幫助都將非常有用!
編輯
我想提供一些其他信息,因為我似乎無法從結果變量中獲取上述數組,這是我用來處理Google Analytics(分析)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,
......
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.