2011-12-02 2 views
0

다차원 배열을 채울 필요가 있습니다. 여기까지는 제가 가지고있는 코드입니다.PHP 다중 차원 배열 할당

while($num > $i) 
{ 
     $default[$i]=0; 
     $defaultcounter=0; 
     $default2[$i]=0; 
     $default3[$i]=0; 
     $query="Select * from `issues` WHERE `app`='" . $applist[$i] . "'" . "AND `startmonth`='". $month ."' ORDER BY `id` ASC"; 
     $result=mysql_query($query); 
     while($row = mysql_fetch_array($result)) 
     { 
      $downtime[$i]+=$row['duration']; 
      $default2[$i]++; //Number of Incidents Variable 
      $defaultcouinter++; 
      $times[$i] = array(); 
      $times[$i][$defaultcounter[$i]]=$row['startday'].$row['starttime']; 
     } 
     $appavail[$i]=100 -(ceil($downtime[$i] * 100/$totaltime)); 
     $default[$i] = (ceil($downtime[$i]/$defaultcounter)); 
     $i++; 
    } 

명백히 배열 할당이 정확하지 않습니다. 내 행 수가 내 외부에있는 $i 변수로 계산되도록해야합니다. 그 동안 defaultcounter는 열을 유지합니다. 나는 단지 $time[$i][defaultcounter] 일을 시도하고 그것을 좋아하지 않았다. 다차원 배열을 지정하는 올바른 구문은 무엇입니까? 당신이 각 반복 (다시 설정하라는 값)에 빈 배열로 $times을 재정의하려는 경우가 아니면

감사

+2

루프 내부를 쿼리하는 것은 좋지 않습니다. – simshaun

답변

2

$times[$i] = array()는 while 루프 아웃 (전)이어야한다. 그것과는 별개로 값을 올바르게 지정합니다. 약간 이상하게 보입니다. 이것은 일반적인 공식으로, 당신에게 아이디어를 주어야합니다 :

$array[] = $subarray; 
$array[$subarray] = $value; 
$array[$subarray][] = $value; 
$array[$subarray][$i] = $value;