Arrays 访问细枝symfony2中的数组值
我将此元素数组打印为图表:Arrays 访问细枝symfony2中的数组值,arrays,symfony,twig,Arrays,Symfony,Twig,我将此元素数组打印为图表: array(7) { [0]=> array(2) { [0]=> array(0) { } [1]=> string(22) "/app_dev.php/users/new" } [1]=> array(2) { [0]=> array(0) { } [1]=> string(19) "/app_dev.php/users/"
array(7) {
[0]=>
array(2) {
[0]=>
array(0) {
}
[1]=>
string(22) "/app_dev.php/users/new"
}
[1]=>
array(2) {
[0]=>
array(0) {
}
[1]=>
string(19) "/app_dev.php/users/"
}
[2]=>
array(2) {
[0]=>
array(1) {
[0]=>
object(BTI\RepSysBundle\Objects\gapiReportEntry)#359 (2) {
["metrics":"BTI\RepSysBundle\Objects\gapiReportEntry":private]=>
array(1) {
["pageviews"]=>
int(54)
}
["dimensions":"BTI\RepSysBundle\Objects\gapiReportEntry":private]=>
array(1) {
["dimension1"]=>
string(14) "rainercedric23"
}
}
}
[1]=>
string(30) "/app_local.php/admin/analytics"
}
[3]=>
array(2) {
[0]=>
array(0) {
}
[1]=>
string(16) "/admin/analytics"
}
}
问题是我可以通过这段代码访问字符串值,比如“/app_dev.php/users/new”
{{foo[0].1}
但我似乎无法使用指标和页面浏览量访问对象我正在尝试这一个
{{foo[2].0.metrics.pageviews}
但它不起作用,有人想到访问对象元素吗?
我有以下服务:
<?php
namespace BTI\RepSysBundle\Services;
use BTI\RepSysBundle\Objects\Gapi;
class GapiManager {
public function GAPIGetter() {
$Gapi = new Gapi('foo@foobar.com', 'somepassword');
$path = array("/app_dev.php/users/new",
"/app_dev.php/users/",
"/app_local.php/admin/analytics",
"/admin/analytics",
"/app_dev.php/account/",
"/app_dev.php",
"/app_dev.php/account/new"
);
foreach ($path as $filterpath) {
$filters[] = "ga:pagePath==" . $filterpath;
}
$ctr = 0;
foreach ($filters as $filter) {
$Gapisquery[] = array($Gapi->requestReportData('81757262', array('dimension1'), array('pageviews'), 'pageviews', $filter), $path[$ctr]);
$ctr++;
}
return array_filter($Gapisquery);
}
}
您的指标
属性是私有的。必须为此属性编写getter,如:
// file BTI\RepSysBundle\Objects\gapiReportEntry.php
namespace BTI\RepSysBundle\Objects;
class gapiReportEntry{
// other code
public function getMetrics{
return $this->metrics;
}
}
之后,您可以通过object.metrics
访问twig
请阅读关于twig的文档。我现在真的很困惑,我以前使用过它,在它是私有的时候访问过它,并用它画了一张图表,但当我更改某些东西时,它就无法访问。我的对象公共函数getDimensions(){return$this->dimensions;}中已经有这些代码了
与metrics相同。因此,您必须为metrics
属性编写getter。我更新了我的answe,添加了文档链接,请阅读。很抱歉,我忘了说我有一个获取上述数组的服务,该服务调用对象。我已经为度量设置了getter,但仍然从服务返回的数组中获取私有属性。它给出了一个错误“变量”度量“不存在”