0
数式を含むスプレッドシートを作成していくつかの列を合計するように設計されたPHPコードがあります。これを行うには、以下のコードよりもはるかにエレガントな方法があるはずです。以下のコードのようなものを実現できるリファクタリングやデザインパターンは何ですか?リファクタリングCsvに数式を出力する
<?
echo ",Current Milestone,Total Hours,Milestone 1 Hours,Milestone 2 Hours,Milestone 3 Hours\n";
$row = 2;
$totSSRange = "";
foreach($departments as $dept){
$deptStartRow = $row + 1;
echo $dept['name']."\n";
foreach($dept['modules'] as $module){
$row++;
echo $module['name'].','.$module['ms'].',=SUM(D'.$row.':F'.$row.'),'.$module['m1'].','.$module['m2'].','.$module['m3']."\n";
}
$deptSSRange = "C".$deptStartRow.":C".$row;
$totSSRange .= $deptSSRange.",";
$sumStr = "=SUM(".$deptSSRange.")";
echo 'Sum,,'.$sumStr.','.str_replace("C","D",$sumStr).','.str_replace("C","E",$sumStr).','.str_replace("C","F",$sumStr)."\n\n";
$row+=3;
}
$totSumStr = "\"=SUM(".$totSSRange.")\"";
echo 'Total,,'.$totSumStr.','.str_replace("C","D",$totSumStr).','.str_replace("C","E",$totSumStr).','.str_replace("C","F",$totSumStr);
?>
なぜこれがダウンリストされましたか? – Craig
答えはあなたがより良くなりたいアスペクトに依存しますか?パフォーマンス?記憶?再利用は? –
誰かがその質問があまり具体的ではないと思ったのでしょうか? –