[英]PHP json_encode outputs numbers with quotes
我有一個用以下代碼生成的數組,其中$ result是Salesman是字符串字段而col1是整數字段的集合
$data=[];
$arr = ($result->get());
$j=0;
foreach($arr as $res)
{
$data[$j] = [$res->shortName,$res->col1];
$j++;
}
當我使用json_encode將此數組傳遞給Google Charts時
var data = google.visualization.arrayToDataTable({!! json_encode($data) !!}
它用Javascript呈現為:
var data = google.visualization.arrayToDataTable([["John","700000"],["Jessa","1400000"],["Mercy ","1100000"],["William","780000"],["Thomas","550000"]]
);
如您所見,整數也被呈現為帶引號的字符串。 有什么辦法可以避免這種情況?
我認為您只需要在PHP中轉換值的類型,如下所示:
$data[$j] = [$res->shortName, intval( $res->col1 ) ];
這樣,您的所有$res->col1
值都將存儲為int。 如果要使用float值,請使用floatval
而不是intval
,如下所示:
$data[$j] = [$res->shortName, floatval( $res->col1 ) ];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.