在Postgres中,使用fetchAll(PDO :: FETCH_NUM)。如何摆脱双引号?

时间:2013-04-02 04:47:05

标签: php postgresql pdo double-quotes

如何在没有双引号的情况下获取数据?

让我解释一下: 我正在使用PostgreSQL数据库和PHP PDO来获取数据。

它返回的数据是:

[["1358991300","70175.47"],["1359077700","70437.59"]...]

但我需要的是:

[[1358991300,70175.47],[1359077700,70437.59]...]

基本上所有数据,没有双引号。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Postgres PDO返回PHP中的字符串而不是预期的数据类型。

尝试通过以下方式转换类型:

$timestamp = intval($row[0]);
$energy = floatval($row[1]);

<强>更新

PDO通过bindColumn对类型转换的支持有限:

PDO + MySQL always returns strings, but what about MsSQL?

http://php.net/manual/en/pdostatement.bindcolumn.php

我不使用Postgres,有人可以确认吗?

更新2

由于您是json_encoding,请尝试(PHP&gt; = 5.3.3):

json_encode($result, JSON_NUMERIC_CHECK);

自动将数字字符串转换为数字。