douzhuo6270 2014-02-10 09:17
浏览 305
已采纳

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

I have an array that is created in PHP, and then encoded into my javascript via JSON.

The Array is defined here:

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

and JSON encoded here:

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

and here:

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

The output when I run my webpage is that graphdata =:

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

However I would like it to be like this:

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

Reason: I would like to change the format because I am trying to get flot to work, and flot accepts an array of arrays as the datatype.

Otherwise: Is there a better way to transfer an array from PHP to JavaScript with my desired format?

  • 写回答

1条回答 默认 最新

  • dongmi5177 2014-02-10 09:22
    关注

    Change this:

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

    TO:

    $grapharray[] = array($hero, $mmr);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?