附加到数组时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
-格式,我可以使用它。。。哈哈,上帝。。。为什么我要做这么愚蠢的事,这是基础知识。。。