我在PHP中有一个名为graph的多维数组,我发送到smarty.tpl文件,我在tpl中以smarty变量图的名义获取它。
Array
(
[0] => Array
(
[weight] => 950.500
[date] => 27
)
[1] => Array
(
[weight] => 800.100
[date] => 31
)
[2] => Array
(
[weight] => 250.250
[date] => 03
)
)
现在,我想在那个tpl中用javascript创建一个多维数组。我怎么能这样做?
echo json_encode($graph);
$smarty -> assign("graph",$graph);
$smarty -> assign("data_weight",$data_weight);
和tpl文件内部我试图以这种格式获取数组
var d1 = [[1,100], [2,110], [3,99], [4,114]];
我试过这个命令将json对象转换为数组
var d1 = JSON.parse(JSON.stringify(graph));
但即使这样也行不通。
答案 0 :(得分:0)
最简单,最好的方法是将这个数组从php发送到json格式的javascript ...即
您可以将其编码为
echo json_encode($YOUR_PHP_ARRAY);
当你在javascript端收到它时,它总是很好地对待json,所以你可以直接在客户端直接使用它。
当你和我分享你的json_encode时...这里是用来读取你的数组的javascript代码..我用document.write将它打印在你的页面上..
我保存了你的json javascript将从你的php var x
var x = [{"weight":"950.500","date":"27"},{"weight":"800.100","date":"31"},{"weight":"250.250","date":"03"}];
// console.log(x);
for(var i = 0;i<x.length;i++){
console.log(x[i]);
document.write("Weight : "+x[i].weight);
document.write("Date : "+x[i].date);
document.write("<br/>");
}
使用smarty,您可以像
一样编码var graph = {$graph|json_encode};
获取图形变量,这是一个javascript变量,如我的代码段所示,遍历。 要查看数组结构,您可以
console.log(graph);
并在浏览器控制台中查看。