2017-01-21 9 views
0

ダイグラフで少し試してみます。私はajax呼び出しからデータを取得し、返されたJSON配列をJavaScript配列に変換する必要があります。多次元配列をPHPからJavaScriptに変換するには?

は今私のdygraphオプションは、この

series = { 
     sample1: { 
     color: 'Green', 
     strokeWidth: 3, 
     pointSize: 4 
     }, 
     sample2: { 
     color: 'DarkBlue', 
     strokeWidth: 2, 
     pointSize: 3 
     }, 
     sample3: { 
     color: 'DarkOrange', 
     strokeWidth: 1, 
     pointSize: 2 
     } 
    } 

    dygraph_options = { 
     title: title, 
     labels: jsonDataTable.labels, 
     series: series, 
     ... 
    } 

私のPHPのAJAX呼び出しのように見える次のようになります。

$series = array(); 
$series[] = array('sample1' => array('color' => 'Green')); 
$series[] = array('sample2' => array('color' => 'DarkBlue')); 
$series[] = array('sample3' => array('color' => 'DarkOrange')); 

$table = array("series" => $series, "labels" => $labels, "data" => $rows); 
return $table; 

私はJSONからシリーズを取得したいです。しかし、私の返されたシリーズは、JavaScriptのシリーズとは異なります。

jsonDataTable.series - > [オブジェクト{株式= {...}}、{オブジェクト 見通し= {...}}]
javascriptのシリーズ - >オブジェクト{株式= {...}、 見通し= {...}、トレーニング= {...}}

私は多くのことをしようとしたが、それは働いて得ることができません。

答えて

1

あなたは$seriesは連想配列になりたい:配列はJavaScriptにPHPから送信するために準備

$series = array(); 
$series['sample1'] = array('color' => 'Green'); 
$series['sample2'] = array('color' => 'DarkBlue'); 
$series['sample3'] = array('color' => 'DarkOrange'); 

それとも

$series = array(
    'sample1' => array('color' => 'Green'), 
    'sample2' => array('color' => 'DarkBlue'), 
    'sample3' => array('color' => 'DarkOrange') 
); 
+0

私のああ連想配列が正確に何であるです私はしたい、それは簡単です、なぜ私はこれを試していないのですか?ありがとうございました! – Martin

1

echo json_encode($array); 

はにJavaScriptでデータを翻訳素敵なオブジェクト

入ってくるJSを翻訳JavaScriptから

var tosend = JSON.stringify(a); 

をPHPにデータを送信するために

var a = JSON.parse(phpdata); 

準備がPHPに戻ってオブジェクトを

$a = json_decode($some_json); 

または

$a = json_decode($some_json, true); 
関連する問題