PHP多维数组赋值

时间:2011-12-02 06:02:09

标签: php multidimensional-array

我需要填充一个多维数组,这是我到目前为止的代码。

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]并且它不喜欢它。什么是分配多维数组的正确语法?

由于

1 个答案:

答案 0 :(得分:2)

$times[$i] = array()应该在while循环之前(之前),除非你希望它在每次迭代中重新定义$times为空数组(重置值)。除此之外,你正在分配正确的值,虽然它看起来有点奇怪(不确定你想要在那里实现什么)。这是一般公式,应该给你一个想法:

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