php循环在执行计算的循环之前显示总和

php循环在执行计算的循环之前显示总和,php,Php,我可以在程序运行之前在标题处显示总和吗 while (($data = fgetcsv($handle, 1000, ","))) { if($data[2] != $prevRow2) { echo '</div>'; if ($prevRow2 != '') { $stringData .= '</Payment>'; } echo "<div id=\"row\">"; echo $sum; $row++; $s

我可以在程序运行之前在标题处显示总和吗

while (($data = fgetcsv($handle, 1000, ","))) {

if($data[2] != $prevRow2) {

 echo '</div>';
 if ($prevRow2 != '') {
  $stringData .= '</Payment>';
 }
 echo "<div id=\"row\">";
 echo $sum;
 $row++;
           $sum = 0;
}
 else { echo "<div id=\"filler\"></div>";}

 foreach ($data as $key => $d) {
  if ($key != 1) {
   echo "<div class=\"field\">" .$d . "</div>";
  }
 }

 $sum +=$data[6]; 
 echo "<br/>";
 echo "<div id=\"filler\"></div>"; 
                      $prevRow2 = $data[2];
} 

fclose($handle);
}
while($data=fgetcsv($handle,1000,“,”)){
如果($data[2]!=$prevRow2){
回声';
如果($prewrow2!=''){
$stringData.='';
}
回声“;
echo$sum;
$row++;
$sum=0;
}
else{echo”“;}
foreach($key=>d的数据){
如果($key!=1){
回显“$d”;
}
}
$sum+=$data[6];
回声“
”; 回声“; $prevRow2=$data[2]; } fclose($handle); }
您可以缓冲输出,在循环结束后打印标题和总和,然后输出缓冲区

这可以简单地通过不回显而将所有值分配给一个变量并在末尾回显该变量来实现,或者通过使用ob_start、ob_end_flush等函数来实现

因此,在您的示例中,不是:

while (true) {
  echo "lots of code";
  echo "some variable: " . $variable;
  $sum = $sum + 1;
}
写:

while (true) {
  $output .= "lots of code";
  $output .= "some variable: " . $variable;
  $sum = $sum + 1;
}

echo $sum;
echo $output;

您可以缓冲输出,在循环结束后打印出标题和总和,然后输出缓冲区

这可以简单地通过不回显而将所有值分配给一个变量并在末尾回显该变量来实现,或者通过使用ob_start、ob_end_flush等函数来实现

因此,在您的示例中,不是:

while (true) {
  echo "lots of code";
  echo "some variable: " . $variable;
  $sum = $sum + 1;
}
写:

while (true) {
  $output .= "lots of code";
  $output .= "some variable: " . $variable;
  $sum = $sum + 1;
}

echo $sum;
echo $output;

我不能让它工作。while($data=fgetcsv($handle,1000,“,”){if($data[2]!=$prevRow2){echo'';if($prevRow2!=''){$stringData.='';echo'.}echo$sum=0;$row++;}else{echo'.}if($data[2]=$prevRow2){$sum+=$data[6];}else{$sum=$data[6];}foreach($key=data as$key=>d){if($key!=1){echo'.$d}echo“
“echo”;$prevRow2=$data[2];}您能通过格式化代码来编辑您的问题吗?在评论中读起来有点困难。你犯了什么错误?我无法让它工作。while($data=fgetcsv($handle,1000,“,”){if($data[2]!=$prevRow2){echo'';if($prevRow2!=''){$stringData.='';echo'.}echo$sum=0;$row++;}else{echo'.}if($data[2]=$prevRow2){$sum+=$data[6];}else{$sum=$data[6];}foreach($key=data as$key=>d){if($key!=1){echo'.$d}echo“
“echo”;$prevRow2=$data[2];}您能通过格式化代码来编辑您的问题吗?在评论中读起来有点困难。你有什么错误?