Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何每5个结果执行一个操作?_Php_Loops_For Loop_Logic - Fatal编程技术网

Php 如何每5个结果执行一个操作?

Php 如何每5个结果执行一个操作?,php,loops,for-loop,logic,Php,Loops,For Loop,Logic,如何在每5个结果的循环中执行操作 基本上,我只是想模拟一个有5列的表。您可以使用模数运算符 for(int i = 0; i < 500; i++) { if(i % 5 == 0) { //do your stuff here } } for(int i=0;i

如何在每5个结果的
循环中执行操作


基本上,我只是想模拟一个有5列的表。

您可以使用模数运算符

for(int i = 0; i < 500; i++)
{
    if(i % 5 == 0)
    {
        //do your stuff here
    }
}
for(int i=0;i<500;i++)
{
如果(i%5==0)
{
//在这里做你的事
}
}

如前所述,可以使用具有模数的条件。您还可以使用嵌套循环来完成此操作

int n = 500;
int i = 0;

int limit = n - 5
(while i < limit)
{
   int innerLimit = i + 5
   while(i < innerLimit)
   {
       //loop body
       ++i;
   }
   //Fire an action
}
int n=500;
int i=0;
整数极限=n-5
(当我<极限)
{
int innerLimit=i+5
而(i
如果n被保证为5的倍数,或者如果你不关心在最后触发一个额外的事件,那么这个方法很有效。否则,你必须在结尾加上这个,这会让它变得不那么漂亮

//If n is not guaranteed to be a multiple of 5.
while(i < n)
{
  //loop body
  ++i;
}
//如果n不能保证是5的倍数。
而(i

并将int limit=n-5更改为int limit=n-5-(n%5)

对于HTML表,请尝试以下操作

<?php $start = 0; $end = 22; $split = 5; ?> <table> <tr> <?php for($i = $start; $i < $end; $i++) { ?> <td style="border:1px solid red;" > <?= $i; ?> </td> <?php if(($i) % ($split) == $split-1){ ?> </tr><tr> <?php }} ?> </tr> </table> 另一个变化:

int j=0; for(int i = 0; i < 500; i++) { j++; if(j >= 5) { j = 0; //do your stuff here } } int j=0; 对于(int i=0;i<500;i++) { j++; 如果(j>=5) { j=0; //在这里做你的事 } } 我是个守旧的人,我记得分裂花了很长时间。对于现代CPU来说,这可能没什么大不了的。

//这很简单
// That's an easy one

for($i=10;$i<500;$i+=5)
{
    //do something
}

对于($i=10;$i这可以在foreach循环中获得活动索引:

<?php

// Named-Index Array
$myNamedIndexArray = array('foo' => 'bar', 'go' => 'habs', 'CSGO_bestTeam' => 'fnatic', 'test' => 'one two', 'potato' => 'french fries', 'tomato' => 'ketchup', 'coffee' => 'expresso', 'window' => 'cleaner', 'truck' => 'load', 'nine' => 'neuf', 'ten' => 'dix');

// Numeric-Index Array of the Named-Index Array
$myNumIndex = array_keys($myNamedIndexArray);


foreach($myNamedIndexArray as $key => $value) {
    $index = array_search($key,$myNumIndex);

    if ($index !== false) {
        echo 'Index of key "'.$key.'" is : '.$index.PHP_EOL;

        if (($index+1) % 5 == 0) {
            echo '[index='.$index.'] stuff to be done every 5 iterations'.PHP_EOL;
        }
    }

}

如果情况允许,您也可以使用
for($i=0;$i<500;$i+=5){…}
@Johannes我想他想对从0到n的每一个整数进行处理,但对每5个元素进行一次操作。不过,我可能弄错了。请注意
(i%5==0)
将在第一次、第六次、第十一次……传递上运行。请使用
(i%5==4)
在第五次、第十次、第十五次……传递上触发。为清晰起见,这是循环应该从1开始作为索引的次数之一,因为使用0使其不那么清晰。应重命名$count。名称为“count”建议您将获得这么多的单元格。如果$start未设置为零,您将无法获得与$count相等的单元格数。If不应该是If(j==5)吗?此循环中的代码不会在每5次运行时调用,它将在每次运行时调用!只有变量
$i
将在每次运行时增加5。