【问题标题】:json_encode output formatting for highchartshighcharts 的 json_encode 输出格式
【发布时间】:2016-07-06 21:43:20
【问题描述】:

我正在使用此代码将 php var 带入 js 函数,但我似乎无法获得正确的格式(输出)。我认为 highcharts 需要数字,但即使我使用“intval”,它也会创建一个字符串。

series: [{
            name: 'Spyware',
            data: [0, 3, 0, 0, 0]
        }, {
            name: 'Viruses',
            data: [ <?php echo json_encode(intval($virusNum)); ?> , 0, 0, 0, 0] 
        }, {
            name: 'Brute Force Attacks',
            data: [0, 0, 0, 0, 0]
        }, {
            name: 'Host Sweeps',
            data: [0, 0, 0, 0, 0]
        }, {
            name: 'Anonymizer/Proxy Server',
            data: [0, 0, 0, 0, 0]
        }]

这里是我创建 $virusNum 变量的地方。

$viruses[$aPos] = intval($freq);
$virusNum = $virusNum + $viruses[$aPos];

【问题讨论】:

  • 为什么要用json_encode函数?
  • JSON 总是字符串,你需要JSON.parse json_encodeed 结果。

标签: javascript php variables syntax


【解决方案1】:

我想你可能需要在PHP中使用json_encode function$options参数:

json_encode(intval($virusNum), JSON_NUMERIC_CHECK)

JSON_NUMERIC_CHECK(整数)

将数字字符串编码为数字。自 PHP 5.3.3 起可用。

【讨论】:

  • PHP 处理后的代码是什么样的? $virusNum 是否以 0 开头?
【解决方案2】:

为什么 json-encode 在那里?这只是一个整数值,所以不需要。

data: [ <?php echo intval($virusNum); ?> , 0, 0, 0, 0] 

【讨论】:

  • 养成良好的习惯,如果没有别的。有点像编写安全的 sql 查询,即使您知道不存在注入问题。
  • @MarcB 我想。但我认为依赖非标准的、特定于库的 JSON 编码行为,例如当它们不在适当的数据结构(对象或数组)中时如何编码/解码原语 - JSON 规范未涵盖的东西 - 就像不好。
  • 这也不起作用。 - 想添加这个,因为我刚刚看到 2 cmets 在保存我是 php noob 的评论后出现,所以这些 cmets 对我来说是希腊语。无论如何谢谢。
  • @RandyMCode var_dump($virusNum) 产生什么?此外,您显示的生成 javascript 输出的代码正在由 PHP 页面提供(即,这不在某些 javascript 中包含某处)?
  • var_dump($virusNum) 给出:C:\MAMP\...\threatcharts_datafeed_2016-07-08a.php:71:int 141 - 我只需要 141。我将“...”放在输出中,结果是我的 php 文件的路径。
猜你喜欢
  • 1970-01-01
  • 2019-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
相关资源
最近更新 更多