簡體   English   中英

PHP json_encode輸出帶引號的數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM