如何在到达变量分配编号后从1开始循环

时间:2015-01-27 05:33:40

标签: php mysql sql cakephp

我想在php中创建一个循环,它在达到变量中指定的特定数字后从1开始。

  1. 循环必须运行10次
  2. 但是在达到5之后,i ++我希望这个循环从下面给出的1个东西重新开始。

    1,2,3,4,5,1,2,3,4,5

  3. 请帮助!!

5 个答案:

答案 0 :(得分:1)

您可能希望使用模运算符%。这将导致数字到"循环"喜欢你想要的东西。

for ($i = 0; $i < 10; $i++) {
    echo ($i % 5) + 1;
}

以上将打印出数字1到5两次。

答案 1 :(得分:1)

尝试 -

$count = 0;
for ($i = 1 ; $i <= 10; $i++) {
    $count++;
    echo $count;
    if ($count == 5) {
       $count = 0;
       echo "</br>";
    }
}

答案 2 :(得分:0)

试试这个:

$i=1;
while($i<=10)
{
   echo $i;
   $i++;
   if($i>5)
   {
     $i=1;
     echo "</br>";
   }
}

答案 3 :(得分:0)

    <?php
    $loop=1;
    for($i=1;$i<=10;$i++)
    {
       echo $loop;
       if($i==5)
       {
          $loop=0;
          echo "</br>";
       }
       $loop++;
    }
    ?>

<强>输出: 12345 12345


这可以在不使用循环的情况下实现,请找到以下2个有用的功能

<强>首先

function createDateRangeArray($strDateFrom,$strDateTo)
{
    // takes two dates formatted as YYYY-MM-DD and creates an
    // inclusive array of the dates between the from and to dates.

    // could test validity of dates here but I'm already doing
    // that in the main script

    $aryRange=array();

    $iDateFrom=mktime(1,0,0,substr($strDateFrom,5,2),     substr($strDateFrom,8,2),substr($strDateFrom,0,4));
    $iDateTo=mktime(1,0,0,substr($strDateTo,5,2),     substr($strDateTo,8,2),substr($strDateTo,0,4));

    if ($iDateTo>=$iDateFrom)
    {
        array_push($aryRange,date('Y-m-d',$iDateFrom)); // first entry
        while ($iDateFrom<$iDateTo)
        {
            $iDateFrom+=86400; // add 24 hours
            array_push($aryRange,date('Y-m-d',$iDateFrom));
        }
    }
    return $aryRange;
}

<强>第二

    $st_date = '2012-07-20';
    $ed_date = '2012-07-27';
    $dates = range(strtotime($st_date), strtotime($ed_date),86400);
    $range_of_dates = array_map("toDate", $dates);
    print_r($range_of_dates);
    function toDate($x){return date('Y-m-d', $x);}

这两个函数将返回您将通过的两个日期之间的日期,然后您可以循环输出数组以执行操作

答案 4 :(得分:0)

您可以尝试:

$count = 10;
for ($i = 0; $i < $count; $i++)
{   
    if($i != ($count-1)){$coma = ',';}else{$coma = '';}
    $value = ($i % 5)+1;
    $output = $value.$coma;

    echo $output;
}

输出: - 1,2,3,4,5,1,2,3,4,5