2014-02-11 2 views
0

나는 내 프로젝트에 대한 Google 차트를 가지고 놀았으며 어떻게 든 다차원 배열 (데이터베이스에서)을 표시 할 수 없다.Google 차트의 다차원

에서 print_r() 출력 :

 ['Year' , 'Oil', 'Gas', 'Coal'] 

    ["2000", 2766, 3098, 269814], 
    ["1999" 2836, 3150, 257561] 

사람이 어떻게 다차원 놀러 좀 도와 줄래 : google chart 필요한 데이터 형식으로

Array 
    (
[0] => Array 
    (
     [year] => 2000 
     [value] => 2766 
     [typeName] => Oil 
    ) 

[1] => Array 
    (
     [year] => 2000 
     [value] => 3098 
     [typeName] => Gas 
    ) 

[2] => Array 
    (
     [year] => 2000 
     [value] => 269814 
     [typeName] => Coal 
    ) 

[3] => Array 
    (
     [year] => 1999 
     [value] => 2836 
     [typeName] => Oil 
    ) 

[4] => Array 
    (
     [year] => 1999 
     [value] => 3150 
     [typeName] => Gas 
    ) 

[5] => Array 
    (
     [year] => 1999 
     [value] => 257561 
     [typeName] => Coal 
    ) 
); 

, 나는 그것을 이런 식으로 뭔가되고 싶어? 감사합니다.


답변

2

당신은 JSON으로이 데이터를 변환 shuld. 원하는 구조를 얻으려면이 방법으로 구문 분석하면됩니다. O (n)

$headers = array("year" => 0, "oil" => 1, "gas" => 2, "coal" => 3); 
$response[] = array_map("ucfirst",array_keys($headers)); 
foreach($orig_array as $k => $item) { 
    $temp_data[$item['year']][0] = (string) $item['year']; 
    $temp_data[$item['year']][$headers[$item['typeName']]] = $item['value']; 
    if(4==count($temp_data[$item['year']])) $response[] = $temp_data[$item['year']]; 
}  

$json_data = json_encode($response); 
echo($json_data); 
+0

gracias !, 정확히 무엇을 찾고 있습니까? – 1mr3yn

+0

지금은 $ 헤더가 동적이기 때문에이 멋진 알고리즘으로 놀아 볼 것입니다. 이것은 제게 많은 도움이됩니다. – 1mr3yn

+0

안녕하세요, Mr. 카디 올 (cardeol), 후속 질문이 있습니다. $ orig_array 중 하나에 3 개의 키만 있다면 어떨까요? 예 : year : 2000에는 'oil and gas'만 있지만 'coal'은 없습니까?, array_fill로 할 수 있습니까? – 1mr3yn

관련 문제