0

我从 PHP 中的 google anaylitics gapi 类返回了以下数组,如下所示。循环这个数组并回显数据的最佳方法是什么?

我在想我可以使用像下面这样的 foreach ,但它是空白的。这可能是一件容易的事,但我正在努力让我的大脑运转起来。我认为问题可能与从 gapi 类返回的数据是一个对象而不仅仅是一个数组有关?

foreach($results as $result) {

 echo 'Goalresults 1:'. $result->metrics->goal1Completions;
 echo 'Goalresults 2:'. $result->metrics->goal2Completions;

}

这也不起作用:

foreach($results as $result) {

 echo 'Goalresults 1:'. $result[metrics][goal1Completions];
 echo 'Goalresults 2:'. $result[metrics][goal2Completions];

}

但给出错误致命错误:不能在goals.php中使用gapiReportEntry类型的对象作为数组

大批:

Array
(
[0] => gapiReportEntry Object
    (
        [metrics] => Array
            (
                [goal1Completions] => 7
                [goal2Completions] => 18
            )

        [dimensions] => Array
            (
                [hour] => 01
                [date] => 20131113
            )

    )

[1] => gapiReportEntry Object
    (
        [metrics] => Array
            (
                [goal1Completions] => 32
                [goal2Completions] => 27
            )

        [dimensions] => Array
            (
                [hour] => 00
                [date] => 20131113
            )

    )

)
4

1 回答 1

-1

通过使用此函数将 gapiReportEntry 对象转换为数组来修复它。

function objectToArray( $object ) {
    if( !is_object( $object ) && !is_array( $object ) ) {
        return $object;
    }
    if( is_object( $object ) ) {
        $object = (array) $object;
    }
    return array_map( 'objectToArray', $object );
}

这来自这里:如何将对象转换为数组?

于 2013-11-13T11:37:10.077 回答