繁体   English   中英

如何将foreach循环或for循环分为10条记录

[英]How to break foreach loop or for loop into 10 records

假设我的数据库中有56条记录。 我正在使用FOR LOOP来显示它们。
我想在每次10条记录后追加div

 <?php
        $a = 56;
        for($i=0;$i<$a;$i++){
            echo "<div>";
            echo $i."</br>";
            echo "</div>";
        }
 ?>

输出:

 <div>0</div> <div>1</div> <div>2</div> <div>3</div> ... <div>56</div> 

我想在每次10条记录后追加<div>

  <div>
    0
    1
    2
    .
    9
   </div>
   <div>
    10
    11
    .
    19
   </div>
    .
    .
   <div>
    51
    52
    .
    .
    56
   </div>

您可以为此使用模运算符

<?php
$a = 56;
echo "<div>";
for($i=0;$i<$a;$i++){
    echo $i . "<br />";

    if (($i+1) % 10 == 0) {
        echo "</div><div>";
    }
}
echo "</div>";
?>

请注意,如果循环数未知- $a可能为9,您的输出将为:

<div>
    0
    ...
    9
</div><div>
</div>

如果要防止在精确除法的情况下close-open div的重复,可以将代码更改为:

<?php
$a = 56;
echo "<div>";
for($i=0;$i<$a;$i++){
    echo $i . "<br />";

    if (($i+1) != $a && ($i+1) % 10 == 0) {
        echo "</div><div>";
    }
}
echo "</div>";
?>

您需要根据一些条件附加开盘价和收盘价,主要是

  1. 如果是第一次迭代
  2. 如果是第十次迭代
  3. 如果是最后一次迭代

这是一个示例代码:

$a = 56;
for ($i = 0; $i < $a; $i++) {

  // If it is the first iteration, echo a opening div
  if ($i == 0)
    echo "<div>";

  // If it is a tenth iteration but not the last one then append a closing and a opening div
  if ($i != 0 && $i % 10 == 0 && $i != $a - 1)
    echo "</div><div>";

  echo $i.
  "<br>";

  // If it is the last iteration, append a closing div
  if ($i == $a - 1)
    echo "</div>";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM