附加到数组时php偏移量非法
所以我试图改变我拥有的一个数组附加到数组时php偏移量非法,php,arrays,google-analytics,Php,Arrays,Google Analytics,所以我试图改变我拥有的一个数组 +rows: array:31 [▼ 0 => array:2 [▼ 0 => "20190101" 1 => "5" ] 1 => array:2 [▼ 0 => "20190102" 1 => "15" ] 2 => array:2 [▼ 0 => "20190103" 1 => "17"
+rows: array:31 [▼
0 => array:2 [▼
0 => "20190101"
1 => "5"
]
1 => array:2 [▼
0 => "20190102"
1 => "15"
]
2 => array:2 [▼
0 => "20190103"
1 => "17"
]
将每行的索引0修改为Carbon DateTime对象以进行进一步处理
现在我希望有一个json输出,但我目前甚至无法摆脱非法偏移类型
错误
我用来检索数据(来自GoogleAnalytics)的代码如下:
$get_stats = Analytics::performQuery(
Period::create(Carbon::now()->startOfMonth(), Carbon::now()->endOfMonth()),
'ga:users',
[
'dimensions' => 'ga:date',
'samplingLevel' => 'HIGHER_PRECISION',
'include-empty-rows' => true
]
);
这将返回大量代码,但我只获取$get\u stats->rows
(参见上面的输出)
然后我创建一个新数组,定义为$stats=[]代码>
循环在$get_stats->rows
上迭代,因此我可以“修改”数组中的数据并将其附加到新创建的数组中
foreach ($get_stats->rows as $value)
{
$stats[] = [Carbon::createFromFormat('Ymd', $value[0]) => $value[1]];
}
但是,我(总是)在$stats[]=[Carbon::createFromFormat('Ymd',$value[0])=>$value[1]]的行中得到非法偏移类型
错误代码>
有人能帮我解决这个问题吗?当我尝试将数组附加到数组中时,我不知道它为什么会这样做。我尝试了array\u push()
,给出了相同的问题,而且array\u merge
也有相同的问题…发生这种情况是因为Carbon::createFromFormat('Ymd',$value[0])
返回一个Carbon
对象,并且对象不是有效的数组索引。我不确定你想通过对键进行转换来实现什么,这似乎是一个简单的过程
$stats[] = [$value[0] => $value[1]];
甚至
$stats[$value[0]] = $value[1];
可能对你更有用。当你想显示数据时,你可以随时转换成一个Carbon
对象。Oh good。。。。好吧,我刚刚将carbon对象解析为一种Y-m-d
-格式,我可以使用它。。。哈哈,上帝。。。为什么我要做这么愚蠢的事,这是基础知识。。。