php
  • multidimensional-array
  • 2011-12-02 126 views 0 likes 
    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之外,而在默认计数器跟上列的时候。我试着做一个$time[$i][defaultcounter],它不喜欢它。什么是分配多维数组的恰当语法?除非你想让它重新定义$times在每次迭代(正在重置值)的空数组

    感谢

    +2

    查询循环内部是不好的做法。 – simshaun

    回答

    2

    $times[$i] = array()应该出(前)while循环。除此之外,你正在分配正确的值,虽然它看起来有点奇怪(不知道你想在那里达到什么)。这是通用公式,应该给你一个想法:

    $array[] = $subarray; 
    $array[$subarray] = $value; 
    $array[$subarray][] = $value; 
    $array[$subarray][$i] = $value; 
    
    相关问题