在第一次匹配后停止脚本或循环而不使用 exit;


stop script or loop after first match without using exit;

不知道怎么问这个问题...问题是,如果 if ($current[$id][$i]['item'] == '') 为 true,我需要停止循环运行,因此无论脚本需要做什么或在这种情况下回显,都不要重复 15 次。

如果使用exit;整个页面将停止渲染,那么,有什么想法吗?

提前谢谢。

如果问题不够清楚,请随时使用评论提问,我将非常乐意澄清任何疑问。

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        //do something
    } 
    $a++; 
}

使用break

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break;
    } 
    $i++;  //<- that should probably be $i instead of $a?
}

如何使用break控制结构?

你需要打破。此外,您的电流循环是无限的,因此会超时。大概你的意思是增加$i,而不是$a.

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break; //<-- terminate loop
    } 
    $a++; //<-- shouldn't this be $i++?
}

只有 2 种方法可以打破循环......使用exit;break;....

break;是你想要的,它将退出循环并继续执行,退出将结束脚本。

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
        echo 'Done!.';
        break;  //   or you can make value of $i = 20;
    } 
    $a++; 
}