我需要填充一个多维数组,这是我到目前为止的代码。
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]
并且它不喜欢它。什么是分配多维数组的正确语法?
由于
答案 0 :(得分:2)
$times[$i] = array()
应该在while循环之前(之前),除非你希望它在每次迭代中重新定义$times
为空数组(重置值)。除此之外,你正在分配正确的值,虽然它看起来有点奇怪(不确定你想要在那里实现什么)。这是一般公式,应该给你一个想法:
$array[] = $subarray;
$array[$subarray] = $value;
$array[$subarray][] = $value;
$array[$subarray][$i] = $value;