带冒号的数组

时间:2013-09-13 07:46:22

标签: php

解决:

getDimesions() ...谷歌发生了类型错误.LOL


在名称中使用冒号的数组面临一些问题,

我的$结果包含

   gapiReportEntry::__set_state(array(
'metrics' => 
 array (
    'uniquePageviews' => 1523,
 ),
 'dimensions' => 
   array (
  'pagePath' => '/',
 'pageTitle' => 'Eventyrgolf',
 'source' => 'google',
'medium' => 'organic',
'campaign' => '(not set)',
),
))
gapiReportEntry::__set_state(array(
  'metrics' => 
 array (
        'uniquePageviews' => 210,
  ),
  'dimensions' => 
 array (
'pagePath' => '/dk/greenfee-og-banen-8/',
'pageTitle' => 'Greenfee og Banen',
'source' => 'google',
'medium' => 'organic',
'campaign' => '(not set)',

),  )) 但有些我怎么不能得到“维度:私人”......该怎么办?

我试过print_r():

 $result->{"dimensions:private"}
 $result['dimensions:private']
 $result->dimensions

完整代码:

 $ga->requestReportData($profileId, $dimensions, $metrics, $sort, null, $fromDate, $toDate, 2,   30);

foreach ($ga->getResults() as $result) {


 print_r($result->dimensions);
 }

3 个答案:

答案 0 :(得分:0)

dimensions对象的$result属性是私有的。这意味着它只能由同一类的对象访问。

检查您的gapiReportEntry类是否包含所谓的getter,这是一个可以访问属性dimensions并将其值返回给您的方法。寻找像getDimensions这样的东西。

在此处详细了解课程字段可见性http://pl1.php.net/manual/en/language.oop5.visibility.php

修改 如果您的gapiReportEntry是google analitics报告,则this docs表示存在getDimensions()方法,因此只需调用

$result->getDimensions();

编辑#2

正如评论中所建议的那样,该类似乎有拼写错误的方法名称。实际方法名为getDim**es**ions

$result->getDimesions();

答案 1 :(得分:0)

您的$result不是数组,而是对象。如果你var_dump一个对象,你会看到它的内容,在你的情况下,它是一个包含2个私有变量metricsdimensions的对象。要访问它们,该对象可能有一些访问器:

$result->getMetrics();
$result->getDimensions();

答案 2 :(得分:-1)

Private是PHP中的保留关键字,你应该在它之前使用反斜杠来删除冒号“:”。