Javascript PHP json_编码输出带引号的数字

Javascript PHP json_编码输出带引号的数字,javascript,php,json,laravel,google-visualization,Javascript,Php,Json,Laravel,Google Visualization,我使用以下代码生成了一个数组,$result是一个集合,其中包含一个字符串字段,col1是一个整数字段 $data=[]; $arr = ($result->get()); $j=0; foreach($arr as $res) { $data[$j] = [$res->shortName,$res->col1]; $j++; }

我使用以下代码生成了一个数组,$result是一个集合,其中包含一个字符串字段,col1是一个整数字段

        $data=[];

        $arr = ($result->get());
        $j=0;
        foreach($arr as $res)
        {
            $data[$j] = [$res->shortName,$res->col1];
            $j++;
        }
当我使用json_编码将这个数组传递给Google图表时

 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。如果需要浮点值,只需使用
floatval
而不是
intval
,如下所示:

$data[$j] = [$res->shortName, floatval( $res->col1 ) ];

转换为int:(int)$res->col1如何知道这些字段是整数,而不是字符串?