如何在使用条件时制作动态循环计数器

时间:2016-08-05 08:33:03

标签: php

我有一个总数据,我想循环开始时的一些数据。仅在数据启用条件下,如果满足条件,则它将通过计数计数器并将减少。在示例中,

我需要来自循环的10个数据

for ($i=1; $i <= 10; $i++) {
        if($i == '8') {
                echo "DATA PASSED : ".$i."<br>";
                $i-1;
        } else {
                echo "SUCCESS : ".$i."<br>";
        }
}

结果

SUCCESS : 1
SUCCESS : 2
SUCCESS : 3
SUCCESS : 4
SUCCESS : 5
SUCCESS : 6
SUCCESS : 7
DATA PASSED  : 8
SUCCESS : 9
SUCCESS : 10

In在上面的例子中,循环我的代码的结果是不对的。总循环不会导致减少。

数据应为10.如果我能看到,我只能获得9个数据,因为应该跳过第8个数据。

我应该如何更正代码并生成

SUCCESS : 1
SUCCESS : 2
SUCCESS : 3
SUCCESS : 4
SUCCESS : 5
SUCCESS : 6
SUCCESS : 7
DATA PASSED  : 8
SUCCESS : 9
SUCCESS : 10
SUCCESS : 11

结果是10个数据。感谢

2 个答案:

答案 0 :(得分:1)

请使用以下代码

 $data_passed =false;
    for ($i=1; $i <= 10; $i++) {
            if($i == '8') {
                    echo "DATA PASSED : ".$i."<br>";
                    echo "SUCCESS : ".($i+1)."<br>";
                    $data_passed = true;
            } else{
            echo "SUCCESS : ".($data_passed?$i+1:$i)."<br>";
            } 
    }

希望您理解代码

答案 1 :(得分:1)

do whilewhile循环应该更适合您的情况。我不是一个PHP专家,但这应该工作。有关php中循环的更多信息可以找到here

$counter = 1; 
$i= 0; // it should be start with 0

while($counter <= 10) {
    $i++;
    if($i == '8') {
            echo "DATA PASSED : ".$i."<br>";
    } else {
            echo "SUCCESS : ".$i."<br>";
            $counter++; 
    }
}