我即将面临这一挑战......任何人都可以帮助我理解如何解决。我错过了逻辑。我将为您提供详细信息,并为您提供要使用的输入变量,这些变量是动态生成的。以下记录是男性,女性,男性,女性......
$data=array(1,5,10,4,3,4,1,1,1,'2);
$indexOfSubTotalColumns=array(3,6,9,12,15,18,21);
//This means on the 3, 6th ...column of the HTML output, a summary is to happen. That is 1+5 will be 6 on column 3. 10 +4 will be 14 on column 6.
$groupTotalColumns=array(9,21);
//the 9th column will display sum of all columns before it. and 21 from col 10 on words, excluding the subtotals calculated or if you want.
使用下面的代码,我已经计算出每个的小计但不能把动态总计。首先,将哑数据添加到数据数组,使其等于HTML列的数量。
$previousValues=array();
foreach($data as $value){
if(in_array($i,$indexOfSubTotalColumns)){
$rows.="<td>".array_sum($previousValues)."</td>";
$rows.="<td>$value</td>";
$previousValues=array();
array_push($previousValues,$value);
$i++;
//
}
else{//not a subtotal
$rows.="<td>$value</td>";
array_push($previousValues,$value);
}
$i++;
//if $i reaches number of columns i.e. 21, close current row and open new
}
echo $rows;
上面的代码输出了这个布局:
我无法计算总数。