javascript - PHP json_encode 输出带引号的数字

标签 javascript php json laravel google-visualization

我使用以下代码生成了一个数组,其中 $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。如果您想要浮点值,只需使用 floatval 而不是 intval,如下所示:

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

关于javascript - PHP json_encode 输出带引号的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34103968/

相关文章:

php - 使用 PHP 读取系统日志

ruby-on-rails - 如何在 json 中不渲染任何内容?

json - 预期解码 Dictionary<String, Any> 但发现了一个数字

javascript - 选择图像时获取类中的所有 id

php - 为什么单例在 PHP 环境下这么糟糕?

javascript - 如何剪切 HTML 以保留结束标签?

php - 我应该在SQL或PHP中使用循环吗?

java - Jackson - hibernate 实体序列化

javascript - 将 "click outside of menu to close"jQuery/Javascript 添加到具有 .toggle() 的菜单下拉菜单

javascript - 在 JavaScript 上淡出当前并淡入 anchor