Php 如何将数组中的值解析到Googl pi图表中

Php 如何将数组中的值解析到Googl pi图表中,php,arrays,charts,google-visualization,Php,Arrays,Charts,Google Visualization,直到现在,当我知道可能的数量时,下面的代码才起作用 function drawChart() { var data = google.visualization.arrayToDataTable([ ['Task', 'Boys age'], ['1 year old', <?php echo $one; ?>], ['2 year old', <?php echo $two; ?>], ['3 yea

直到现在,当我知道可能的数量时,下面的代码才起作用

    function drawChart() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Boys age'],
      ['1 year old',  <?php echo $one; ?>],
      ['2 year old',  <?php echo $two; ?>],
      ['3 year old',  <?php echo $three; ?>],
      ['4 year old',  <?php echo $four; ?>],
      ['5 year old',  <?php echo $five; ?>],
      ['6 year old',  <?php echo $six; ?>],
      ['7 year old',  <?php echo $seven; ?>]
    ]);

    var options = {
      title: '<?php echo $total; ?> Boys age ', 
      pieSliceText: 'value',
      pieHole: 0.4
    };

    var chart = new google.visualization.PieChart(document.getElementById('BoysAge'));

    chart.draw(data, options);
  }
此输出的结果:

    Array ( [10] => 5 [7] => 12 [8] => 9 [0] => 1 [9] => 10 [12] => 2 [11] => 3 )
有没有简单(但聪明)的方法将数组数据解析为图表数据

亲切问候,


Frans

您可以将-->
数组计数值($boysAge)
的结果转换为JSON
然后将每个计数作为一行添加到数据表中

请参阅以下代码段

function drawChart() {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Task');
  data.addColumn('number', 'Boys age');

  var ageCount = <?php echo json_encode(array_count_values($boysAge)); ?>

  for (var age in ageCount) {
    data.addRow([age, ageCount[age]]);
  }

  var options = {
    title: '<?php echo $total; ?> Boys age ',
    pieSliceText: 'value',
    pieHole: 0.4
  };

  var chart = new google.visualization.PieChart(document.getElementById('BoysAge'));

  chart.draw(data, options);
}
函数绘图图(){
var data=new google.visualization.DataTable();
data.addColumn('string','Task');
data.addColumn('数字','男孩年龄');
变量年龄计数=
for(年龄计数中的变量年龄){
data.addRow([age,ageCount[age]]);
}
变量选项={
标题:"男童年龄",,
文本:“值”,
孔:0.4
};
var chart=newgoogle.visualization.PieChart(document.getElementById('BoysAge');
图表绘制(数据、选项);
}

您需要更多帮助,还是请使用投票按钮附近的复选标记将答案标记为已接受?
function drawChart() {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Task');
  data.addColumn('number', 'Boys age');

  var ageCount = <?php echo json_encode(array_count_values($boysAge)); ?>

  for (var age in ageCount) {
    data.addRow([age, ageCount[age]]);
  }

  var options = {
    title: '<?php echo $total; ?> Boys age ',
    pieSliceText: 'value',
    pieHole: 0.4
  };

  var chart = new google.visualization.PieChart(document.getElementById('BoysAge'));

  chart.draw(data, options);
}