我有一个用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?
最佳答案
更改此:
$grapharray[] = array($hero => $mmr);
至:
$grapharray[] = array($hero, $mmr);