1

我使用 PHP 从 postgreSQL 中提取数据,我将使用它来构建 GoogleChart 数据表。GoogleCharts 接受数组数组(格式:[[data1, data2, data3],[data4, data5, data6]]。

为了正确格式化数组,我使用以下语法:

$GoogleChartString ="["; //opening bracket inserted
while ($row = pg_fetch_row($QueryResult)) 
{
$GoogleChartString = $GoogleChartString . "[" .implode(",", $row) . "],"; 
}
$GoogleChartString = substr($GoogleChartString,0,-1)."]";

现在,有些字段是字符串,有些是数字。GoogleCharts DataTables 期望字符串是单引号的。但是, pg_fetch_row 不会在字符串周围放置任何分隔符。我怎样才能以一种优雅而有效的方式生成 GoogleCharts 所期望的适当格式?

4

1 回答 1

1

一个好消息,一个坏消息。

坏消息:到目前为止,您确实编写了太多代码,实际上浪费了字符,并且您自己的代码可能挡住了您的路,因此您无法解决这个问题。

好消息:在 PHP 中构建一个数组,然后使用该json_encode函数,您无需关心格式。是杰森

$googleChart = array();
while ($row = pg_fetch_row($QueryResult)) {
    $googleChart[] = $row;
}
$googleChartString = json_encode($googleChart);

每当您处理一些 API 时,请查找规范(例如 Json)。然后查看 PHP 手册如何支持该规范。通常开箱即用,否则您也可以使用很多库。

编辑:

代码片段(演示):

$data = array(array(data1, data2, data3),array(data4, data5, data6));

echo json_encode($data);

输出:

[["data1","data2","data3"],["data4","data5","data6"]]
于 2012-06-23T22:18:03.883 回答