我已經完成了一些像這樣的示例,其中我從數據庫讀取數據,然後將其編碼爲JSON,以便可以使用它在谷歌charts.I知道,PDO總是返回一個字符串,直到現在我已經能夠將它作爲一個int工作正常,但現在我有一個列是一個浮動,我似乎無法得到它的工作。已經嘗試了float_val和其他一些東西,但沒有運氣。我試圖浮動的值有列名稱Load_times幷包含值如0.11,0.966,0.1087等任何人都可以幫忙嗎?試圖從MySQL數據庫讀取浮點值並將其編碼爲JSON以與Google圖表一起使用
感謝
這裏是已使用
$st = $db->prepare ("SELECT Chart_Type, SUM(Load_Time) from Timing group by Chart_Type;
");
$st->execute();
$rows = array();
$flag = true;
$table = array();
$table ['cols'] = array (
// Labels for chart, these represent the column titles
array (
'label' => 'Chart_Type',
'type' => 'string'
),
array (
'label' => 'Load_Time',
'type' => 'number'
)
)
;
$rows = array();
while ($r = $st->fetch (PDO::FETCH_ASSOC)) {
$temp = array();
$temp [] = array (
'v' => (string) $r ['Chart_Type']
);
// Values of each slice
$temp [] = array (
'v' => (float) $r ['Load_Time']
);
$rows [] = array (
'c' => $temp
);
}
$table ['rows'] = $rows;
$jsonTable = json_encode ($table);
return $jsonTable;
}
時打印的值舉行$ jsontable顯示的代碼, 「V」:0。
爲什麼不把你的問題縮小到僅僅將一個特定的值賦給一個浮點數?爲什麼添加PDO和JSON,但顯示的不是你想要投射的價值? –
我知道如何將一個值賦予一個浮點數,但無法讓它工作。將現在編輯帖子 – cstu
你能否提供一個轉換爲0的示例字符串?通常情況下,當字符串以非數字字符開頭時會發生這種情況。另外,您可以通過將'JSON_NUMERIC_CHECK'傳遞給'json_encode'調用來避免顯式類型轉換:'$ jsonTable = json_encode($ table,JSON_NUMERIC_CHECK);'。 – asgallant