Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Google API检索数据并填充两次_Php_Arrays_Api_Charts - Fatal编程技术网

Php 从Google API检索数据并填充两次

Php 从Google API检索数据并填充两次,php,arrays,api,charts,Php,Arrays,Api,Charts,我需要您的帮助,因为我一直在研究如何从Google API获取辅助数据并将其显示在图形上,让我解释一下: 我已成功从Google Analytics API中检索到“访问”数据,并使用以下代码将其显示在我的图表上: $report3 = $ga->getReport( array('dimensions'=>urlencode('ga:date'), 'metrics'=>u

我需要您的帮助,因为我一直在研究如何从Google API获取辅助数据并将其显示在图形上,让我解释一下:

我已成功从Google Analytics API中检索到“访问”数据,并使用以下代码将其显示在我的图表上:

                $report3 = $ga->getReport(
                array('dimensions'=>urlencode('ga:date'),
                    'metrics'=>urlencode('ga:pageviews,ga:visits'),
                    'filters'=>urlencode(''),
                    'sort'=>'ga:date'
                    )
                );
这给了我一个数组,比如:

[20110726] => Array
    (
        [ga:pageviews] => 0
        [ga:visits] => 0
    )
然后我将这些信息放在图表上:

    <script type='text/javascript'>
    var ga_data = [
    <?php
        $str = "";
        foreach ($report3 as $value)
            $str.="{$value["ga:visits"]},";
        $str = rtrim($str,",");
    echo $str;
    ?>
    ];
</script>

var ga_数据=[
];
最后:

      // Create the data table.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Month');
data.addColumn('number', 'visits');
data.addRows(ga_data.length*1);
for (i=9; i<ga_data.length; i++){

    data.setValue(i, 0, 'DATE NEEDED');
    data.setValue(i, 1, ga_data[i]);
}
//创建数据表。
var data=new google.visualization.DataTable();
data.addColumn('string','Month');
data.addColumn('number','visions');
data.addRows(ga_data.length*1);
对于(i=9;i)数组
(
[ga:pageviews]=>0
[ga:访问量]=>0
)
)在图表上,就像我在访问时一样


任何帮助都将不胜感激!谢谢

看起来返回的数据将日期作为数组的索引(也称为“维度”)。只要更新你的循环就可以了

foreach(ga_data as $date=>$values){
    data.setValue(i, 0, $date);
    data.setValue(i, 1, $values['ga:visits']);
}
如果DataVisualization API无法像这样处理该类型,则可能需要将日期拆分为多个部分:

$str = '20110726';
$year = substr($str,0,4);
$month = substr($str,4,2);
$day = substr($str,6,2);
然后使用PHP date()函数根据您的喜好设置格式