Java 将php字符串转换为数组
我使用PHP(通过ajax)检索数据并在java中使用它。我打算使用谷歌图表上的信息。示例如下: (1) java中的PHP输出/输入Java 将php字符串转换为数组,java,php,arrays,Java,Php,Arrays,我使用PHP(通过ajax)检索数据并在java中使用它。我打算使用谷歌图表上的信息。示例如下: (1) java中的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]/] (2) 我将上述PHP转换为字符串数组-如下所示: [8058, 26.4],[8081, 26.5],[8091, 2
[[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) 我将上述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图表中成功读取以下数组
p2 = ([[5, 23.8],[6, 24.0],[7, 24.1],[8, 24.2],[9, 24.3]]);
那么,如何将(2)转换成一个可以被谷歌图表读取的数组呢?我不是java专家,我被困在这里了。。。欢迎提出任何建议。感谢您的反馈和建议/不确定如何将上述内容集成到我的代码中(explode不起作用)
[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]',
)
我也在看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>
setOnLoadCallback(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]);//测试数组以检查谷歌折线图->效果
//通过php检索数据
var phpData=$.ajax({
url:“test.php”,
数据类型:“文本”,
异步:false
}).responseText;
var ary=phpData.replace('['','[').replace('/]','').split('/');
data.addRows(p2);//这用于绘制折线图(测试数组p2)
变量选项={
标题:'任何',
curveType:'函数',
图例:{位置:'bottom'},
hAxis:{title:'Time',logScale:false},
变量:{title'T',logScale:false},
颜色:['#a52714','#097138']
};
var chart=new google.visualization.LineChart(document.getElementById('curve_chart');
图表绘制(数据、选项);
}
将数组转换为JSON字符串。所有人都理解JSON数据结构您将如何“导出”将数据转换为java并在javascript中使用?只需以json格式将数据从php返回到jquery,并按照图形格式传递数据。解决了它-创建了一些循环来更正数据并将字符串解析为浮点。它可以工作,下一步就是使用json:-)。谢谢