通过JSON将PHP数组传递到Javascript以更新Google Chart

前端之家收集整理的这篇文章主要介绍了通过JSON将PHP数组传递到Javascript以更新Google Chart前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有三个我用json编码的 PHP数组…因为数组工作正常而省略了额外的PHP代码….此外,为简洁起见,省略了调用谷歌图表的HTML标记
  1. <?PHP
  2. $encoded_line_volume = json_encode($LineVol) . "\n";
  3. $encoded_loan_volume = json_encode($LoanVol) . "\n";
  4. $encoded_cluster_name = json_encode($ClusterLine) . "\n";
  5. ?>

我想在Javascript中访问这三个数组来动态更新我的Google Chart.

  1. <script type="text/javascript">
  2.  
  3. google.load("visualization","1",{packages:["columnchart"]});
  4. google.setOnLoadCallback(drawChart);
  5.  
  6. var linevol = new Array; // This would be the first array passed from PHP
  7. var loanvol = new Array; // This would be the second array passed from PHP
  8. var clusters = new Array; // This would be the third array passed from PHP
  9.  
  10. function drawChart() {
  11. var data = new google.visualization.DataTable();
  12.  
  13. data.addColumn('string','Cluster');
  14. data.addColumn('number','Loans');
  15. data.addColumn('number','Lines');
  16.  
  17. /* create for loops to add as many columns as necessary */
  18.  
  19. var len = jsonarray.length;
  20.  
  21. data.addRows(len);
  22.  
  23. for(i=0; i<len; i++) {
  24.  
  25. data.setValue(i,' '+clusters[i]+''); /* x-axis */
  26. data.setValue(i,1,linevol[i]); /* Y-axis category #1*/
  27. data.setValue(i,2,loanvol[i]); /* Y-axis category #2*/
  28. }
  29. /*********************************end of loops***************************************/
  30. var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
  31. chart.draw(data,{width: 400,height: 240,is3D: true,title: 'Prospect Population',legend: 'right'});
  32. }
  33. </script>

解决方法

您可能希望它们成为Javascript变量.当您的PHP执行时,它会创建您的Web浏览器然后解释的代码.所以你想用PHP定义javascript字符串.例如:
  1. <script type="text/javascript">
  2. var encoded_line_volume = <?PHP echo json_encode($LineVol) ?>;
  3. var encoded_loan_volume = <?PHP echo json_encode($LoanVol) ?>;
  4. var encoded_cluster_name = <?PHP echo json_encode($ClusterLine) ?>;
  5. </script>

然后这些变量可以被后续的javascript访问.

猜你在找的JavaScript相关文章