在我的php foreach循环末尾输出唯一内容

时间:2020-10-02 17:38:25

标签: php foreach

我有一个foreach循环,输出在Google Spreadsheet中找到的单元格的所有值,将每个值包装在包含div的位置,并将div缠绕在每一行。

一切正常,直到到达循环的最后一个迭代为止,在迭代的最后我留下了一个开放的div。

我知道我需要添加elseIf语句来检查上一次迭代并输出一个封闭的div,但是我对如何完成此操作迷失了。

这是我的代码:

$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

$ic = 0; /* ITEM count: iterates item count up for every cell pulled from the spreadsheet */

$rc = 1; /* ROW count: iterates row count up for every row pulled from the spreadsheet */

echo '<div class="rowContainer">';
if (empty($values)) {
   print 'No data found.\n';
} else {
    
   echo '<div class="rowBreak rc'.$rc.'">';
   $rc++;
   foreach ($values as $row) {
      for ($i = 0; $i < sizeof($row); $i++) {
          echo '<div class="item ic'.$ic.'" id="ic'.$ic.'">';
          echo $row[$i].'</div>';
          $ic++;
          
          if ($ic % 13 == 0) { 
          echo '</div><div class="rowBreak rc'.$rc.'">'; $rc++;}
         
       /* Needs an else if here that echos just a closing div instead of the close / open divs */
          
      }
    
                                        
      }
      }
echo '</div><!-- .rowContainerEnd -->';     

我相信我需要以下内容,但我不知道在原始代码中将$ rc与之进行比较。

else if ($rc == ??SOMETHING?? - 1) {
        echo '</div>';  
        $rc++;
    }

1 个答案:

答案 0 :(得分:0)

据我了解

else if ($i == sizeof($row) - 1) {
        echo '</div>';  
        $rc++;
    }

应该解决您的问题