2013-06-11 4 views
-2

두 개의 멋진 JSON 배열에 큰 문제가 있습니다.JSON 배열이 복잡해졌습니다

코드는 같은 수 있습니다 :

else if ($range == "day") $sqlRangeString = "GROUP BY DATE_FORMAT(dbtime, '%Y-%c-%e')"; 

$startdate = doTimeStamp($startdate); 
$enddate = doTimeStamp($enddate); 

    if (isset($consumer_on)) 
    { 
    echo '['; 
    $counter = 0;  
    foreach($consumer_name as $consumer_name_value) 
    {   
    $result2 = mysql_query("SELECT AVG(loadvalue) AS m1, dbtime, time 
       FROM $consumer_name_value   
       WHERE time >= $startdate 
       AND time <= $enddate 
       $sqlRangeString 
       ORDER BY time") or die('#ä'); 
    while ($data2 = mysql_fetch_array($result2)) 
    {  
     $consumer_value[$counter][0] = $data2['time'];   
     if (!isset($consumer_value[$counter][1])) $consumer_value[$counter][1] = 0; 
     $consumer_value[$counter][1] = (float)$consumer_value[$counter][1] + (float)$data2['m1'];  
     $counter++;  
    }  
    } 
    echo json_encode($consumer_value); 
    } 

    if (isset($producer_on)) 
    { 
    $ounter = 0; 
    if (isset($consumer_on) && ($consumer_on == 1))echo ','; 
    foreach($producer_name as $producer_name_value) 
    { 
    $result3 = mysql_query("SELECT AVG(power) AS m1, dbtime, time 
       FROM $producer_name_value   
       WHERE time >= $startdate 
       AND time <= $enddate 
       $sqlRangeString 
       ORDER BY time") or die('#ää'); ;  

     while ($data3 = mysql_fetch_array($result3)) 
     {  
     $producer_value[$counter][0] = $data3['time']; 
    if (!isset($producer_value[$counter][1])) $producer_value[$counter][1] = 0; 
     $producer_value[$counter][1] = $producer_value[$counter][1] + (float)$data3['m1']; 
     $counter++; 
     }  
    } 
    echo json_encode($producer_value);  
    } 
} 

?> 

내 문제는 출력 :

enter image description here

왜 produver_value 배열의 출력은 각 부분의 앞 번호가 무엇입니까? 어떻게 제거 할 수 있습니까?

+0

만약'echo '[';'then your echo ']';'? –

+0

결국입니다. 약 100 줄. 나는 중요한 선만을 선택했다. – Susanne92

답변

2

"array"는 PHP 배열 인덱스가 0부터 시작하지 않기 때문에 각 항목 앞에 숫자가 있습니다. 정규 배열 대신 연관 배열을 사용하면 json_encode이 배열 대신 JSON 객체를 생성합니다.

그것은이 때문에이 오타의 발생 가능성이 있습니다 :

$ounter = 0; // should be $counter ? 

당신은 배열에서 값을 추출 array_values를 사용할 수 있습니다.

+0

정말 고마워요! 너 뭐야 .. – Susanne92

관련 문제