具有多维数组的多系列高位图数据


Multi Series Highchart Data with Multidimensial Array

我正在尝试以Highcharts用于生成数据的多序列图的格式获取数据数组。

我的数据阵列是:

Array ( 
[answer1] => Array ( [SubQuestion 1] => 3 [SubQuestion 2] => 1 ) 
[answer2] => Array ( [SubQuestion 1] => 2 [SubQuestion 2] => 2 ) 
[answer3] => Array ( [SubQuestion 1] => 1 [SubQuestion 2] => 1 ) 
[answer4] => Array ( [SubQuestion 1] => 1 [SubQuestion 2] => 2 ) 
[answer5] => Array ( [SubQuestion 1] => 0 [SubQuestion 2] => 1 )
)

我需要将其转换为Highcharts:的格式

$chartdata = array(
array("name" =>"SubQuestion 1","data"=>  array(3,2,1,1,0) ),
array("name" =>"SubQuestion 2","data"=>  array(1,2,1,2,1) )
);

有人能告诉我如何迭代我的数组以创建HighCharts格式的新数组吗?

谢谢你的帮助。我只是想结束循环,发布正确答案的略微修改版本:$chartdata=array();foreach($series作为$key1=>$value1){$i=0;foreach($value1作为$key2=>$value2){$chartdata[$i]['name']=$key2;$chartdata[$i]['data'][]=$value2;$i++;}}

$myarray = Array ( 
'answer1' => Array ( 'SubQuestion 1'=> 3 , 'SubQuestion 2' => 1 ) ,
'answer2'=> Array ( 'SubQuestion 1' => 2, 'SubQuestion 2' => 2 ) ,
'answer3' => Array ( 'SubQuestion 1' => 1, 'SubQuestion 2' => 1 ) ,
'answer4' => Array ( 'SubQuestion 1' => 1, 'SubQuestion 2' => 2 ) ,
'answer5' => Array ( 'SubQuestion 1' => 0, 'SubQuestion 2' => 1 )
);

$temp = array();
$chartdata = array();
foreach($myarray as $key1 => $value1){
  foreach($value1 as $key2 => $value2){
   if(!in_array($key2, $temp)){
    $temp[] = $key2;
   }
   $chartdata[array_search($key2, $temp)]['name'] = $key2;
   $chartdata[array_search($key2, $temp)]['data'][] = $value2;
  }
}
echo '<pre>';
print_r($chartdata);