2016-06-08 291 views
-2

我使用PHP(通過ajax)檢索數據並在java中使用它。我打算使用Google Chart的信息。實施例下面:將php字符串轉換爲數組

(1)PHP輸出/在java輸入

[[8058, 26.4]/[8081, 26.5]/[8091, 26.5]/[8092, 26.5]/[8094, 26.5]/[8096, 26.5]/[8104, 26.6]/[8109, 26.6]/[8120, 26.6]/] 

(2)I轉換上述PHP到一個字符串數組 - 看起來如下:

[8058, 26.4],[8081, 26.5],[8091, 26.5],[8092, 26.5],[8094, 26.5],[8096, 26.5],[8104, 26.6],[8109, 26.6],[8120, 26.6] 

(3)但是它必須轉換成Google Charts可以讀取的數組。下面的數組我可以在Google Charts中成功讀取

p2 = ([[5, 23.8],[6, 24.0],[7, 24.1],[8, 24.2],[9, 24.3]]); 

那麼如何將(2)轉換爲Google Charts可以讀取的數組呢?我不是一個Java專家,有點卡在這裏...任何建議,歡迎。

+0

將您的陣列成JSON字符串。一切都明白JSON數據結構 – RiggsFolly

回答

0
[8058, 26.4],[8081, 26.5],[8091, 26.5],[8092, 26.5],[8094, 26.5],[8096, 26.5],[8104, 26.6],[8109, 26.6],[8120, 26.6] 
$data = [8058, 26.4]@[8081, 26.5]@[8091, 26.5]@[8092, 26.5]@[8094, 26.5]@[8096, 26.5]@[8104, 26.6]@[8109, 26.6]@[8120, 26.6] 
This string change comma separated values by other character like @ after that execute below function. 
print_r(explode ('@' , $data)); 
**OUTPUT:** 
array (
    0 => '[8058, 26.4]', 
1 => '[8081, 26.5]', 
2 => '[8091, 26.5]', 
3 => '[8092, 26.5]', 
4 => '[8094, 26.5]', 
5 => '[8096, 26.5]', 
6 => '[8104, 26.6]', 
7 => '[8109, 26.6]', 
8 => '[8120, 26.6]', 
) 
+0

你會如何將這些數據導出到java並在javascript中使用它? – Jeroen

+0

只是以json格式將數據從php返回給jquery,並按照圖形格式在圖中傳遞數據。 – Kuldeep

0

感謝您的反饋意見和建議/不知道如何將上述內容整合到我的代碼中(explode不起作用)。

我也看着JSON /但首先想要得到我的盤子。

我下面幾行:

<html> 
<head> 
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={ 
    'modules':[{ 
     'name':'visualization', 
     'version':'1.1', 
     'packages':['corechart'] 
    }] 
}"></script> 
</head> 

<body> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.setOnLoadCallback(drawChart); 

    function drawChart() { 

     var data = new google.visualization.DataTable(); 
     data.addColumn('number', 'X'); 
     data.addColumn('number', 'temp'); 

     p2 = ([[5, 23.8],[6, 24.0],[7, 24.1],[8, 24.2],[9, 24.3]]); //Test array to check Google Line Chart -> works 

     // Retrieve data via php  
     var phpData = $.ajax({ 
      url: "test.php", 
      dataType: "text", 
      async: false 
     }).responseText; 

     var ary = phpData.replace('[[','[').replace('/]','').split('/'); 

     data.addRows(p2);  // This works to draw line chart (test array P2) 

     var options = { 
      title: 'Any', 
      curveType: 'function', 
      legend: { position: 'bottom' }, 
      hAxis: { title: 'Time', logScale: false }, 
      vAxis: { title: 'T', logScale: false }, 
      colors: ['#a52714', '#097138'] 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('curve_chart')); 
     chart.draw(data, options); 
    } 
</script> 
    <div id="curve_chart" style="width: 900px; height: 500px"></div> 
</body> 
</html> 
+0

解決了它 - 創建了一些循環來糾正數據並將字符串解析爲浮動。它的工作原理和接下來的步驟是去與JSON :-)。謝謝 – Jeroen