PHP stdObject 到可以在 Google 图表中使用的数组

PHP stdObject to array that can be used in Google Charts

我想使用 google 图表来可视化一些数据。

我从文档中了解到,为了使用 google 图表,数据必须采用以下形式:

[["C1","C2","C3],[C1V1,C2V1,C3V1],[C1V2,C2V2,C3V3]]

其中 c1-c3 是第一到第三列,值与 v1-v3 相同。

我目前在 php 中有以下形式的查询数据:

Array ( [0] => stdClass Object ( [C1] => C1V1 [C2] => C2V1 [C3] => C3V3 ))

我在 laravel:

中使用一个简单的 sql 查询获取我的数据
 $live = DB::connection('azure')->select("SELECT C1,C2 FROM tableName");

如何从我的数据表单转换为顶部的表单,以便我可以使用 google 图表。

我正在使用 PHP,所以我希望能够将其转换为该语言。

非常感谢任何帮助!

您需要使用从数据库返回的索引创建第一个内部数组。因此,如果您的数据库查询 returns 一个关联数组,您可以使用 array_keys 函数获取所有键的数组,将其添加为主数组中的第一个条目,然后遍历返回的数据从数据库中将每一行添加为主数组中的新条目。

要格式化源数组 $arr 中的数据以满足您的需要,您可以使用:

<?php
$i=0;
$newArr[0] = array_keys($arr[0]);
foreach($arr as $record) {
    $i++;
    foreach($record as $col => $val) {
        $newArr[$i][] = $val;
    }
}

工作demo