簡體   English   中英

將多維smary數組轉換為Javascript多維數組

[英]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":"25‌​0.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM