[英]Converting Multidimensional smary array to Javascript Multi-Dimensional Array
我在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));
但即使這樣也行不通。
最簡單和最好的方法是將這個數組從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);
並在瀏覽器控制台中查看。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.