更改JSON_Encode输出格式(括号和逗号)

时间:2014-02-10 09:17:48

标签: javascript php arrays json

我有一个用PHP创建的数组,然后通过JSON编码到我的javascript中。

数组在这里定义:

$stmt -> bind_result($match_id, $hero, $mmr);
while($stmt -> fetch()){
    $grapharray[] = array($hero => $mmr);
}

和JSON编码在这里:

$grapharray_labelled = array(
    "label" => "MMR Over time",
    "data" => $grapharray          
);

在这里:

var graphdata = <?php echo JSON_encode($grapharray_labelled); ?>;

运行网页时的输出是graphdata =:

{
"label":"MMR Over time",
"data":[
        {"Rubick":6524},
        {"Lion":6550},
        {"Magnus":6565},
        {"Keeper of the Light":6566}
        ]
}

然而我希望它是这样的:

{
"label":"MMR Over time",
"data":[
        ["Rubick", 6524],
        ["Lion", 6550],
        ["Magnus", 6565],
        ["Keeper of the Light", 6566]
        ]
}

原因: 我想改变格式,因为我试图让flot工作,而flot接受一个数组数组作为数据类型。

否则:是否有更好的方法将数组从PHP传输到JavaScript并使用我想要的格式?

1 个答案:

答案 0 :(得分:4)

改变这个:

$grapharray[] = array($hero => $mmr);

TO:

$grapharray[] = array($hero, $mmr);