解析PHP跳出循环的方法 以及continue、break、exit的区别介绍

发布于:2018-01-12     来源:未知     作者:佰维     点击:
HP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式:
代码:
复制代码 代码如下:

<?php
$i = 1;
while (true) { // 这里看上去这个循环会一直执行
    if ($i==2) {// 2跳过不显示
        $i++;
        continue;
    } else if ($i==5) {// 但到这里$i=5就跳出循循环了
        break;
    } else {
        echo $i . '<br>';
    }
    $i++;
}
exit;
echo '这里不输出';
?>

结果:
1
3
4
continue
continue 它在循环结构中使用,其中控制程序在循环连续语句结束后放弃代码,并将其转换到下一个循环。继续本身不会跳出循环结构,而是放弃这个循环。如果继续在非循环结构中使用(例如,在if语句中,在切换语句中),程序将出错。
例如在下面的这段PHP代码片段中:
复制代码 代码如下:

<?php
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
& #160;  else{
echo”$i \n<br/>”;
}
}
?>
PHP代码片段的作用是输出小于100的自然数,不能除以7,而不能除以3。在循环中,我们首先使用条件语句来确定可以整除的数字,然后执行继续,句子直接进入下一个循环。将不执行以下输出语句。

打破
在上述各种循环和开关语句中使用断点。他的任务是跳出当前语法结构,执行下列语句。中断语句可以带一个参数n来指示跳出循环的层的数量。如果我们想跳出多个循环,我们可以使用n来指示跳出的层数。如果没有参数,默认值是跳出重循环。
看看下面的多循环嵌套的例子:
复制代码代码如下所示:


for($i = 1;$i <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m \n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}
在这里,我们使用中断2跳出双循环。你可以测试一只眼睛,去掉2。结果完全不同。如果不使用参数,跳出来就是这个循环,第一层将继续。

goto
跳转实际上是一个操作符,与其他语言一样,PHP不被鼓励去滥用,而滥用跳转会导致程序可读性严重下降。跳转的功能是将程序从当前位置跳到任何其他位置。跳转本身没有结束循环的功能,但是它的跳转位置的功能使得跳出循环成为可能。但PHP5.3及以上停止去支持,所以你应该尽量避免使用goto。
下面是使用跳转跳出循环的示例
复制代码代码如下所示:
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) <= 29){
goto a;
}
echo “$i”;
}
a:
echo” this is the end”;
在这个例子中,跳转是用来跳出循环的。此示例用于检测大于29的这些数字的平方根的不到1000。

出口
退出用于结束程序的执行。它可以在任何地方使用,而且它不会跳出循环本身的意义。退出可以带参数。如果参数是字符串,PHP将直接输出字符串。如果参数是整数整形(范围0-254),该参数将作为最终状态。
复制代码代码如下所示:
<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
exit;
}
}
echo”本行将不会被输出”;
?>
在上面的示例中,代码的操作是直接从循环完成的,这将导致后面的代码执行。如果是在PHP网页中,甚至退出后的HTML代码也不会导出。

返回
返回语句用于结束代码的一部分并返回一个参数。你可以从一个函数调用,但也从一个包括(需要)或()语句包含的文件调用,也可以在主程序中调用,如果是在函数中调用程序将立即结束操作和返回参数,包括(如果需要)或()语句包含的文件称,该计划的执行将立即返回调用该文件,并返回值将包括()或要求()返回值。如果在主程序中调用它,主程序将立即停止执行。
复制代码代码如下所示:
<?php
for($i = 1000;$i >= 1 ; $i– ){
if( sqrt($i) >= 29){
echo”$i \n<br/>”;
}
else{
return;
}
}
echo”本行将不会被输出”;
?>

上一篇:调用java webservice接口几种方法

下一篇:PHP实现了插入数组而不影响原始顺序的方法。

最新资讯 观察行业视觉,用专业的角度,讲出你们的心声。
MORE

I NEED TO BUILD WEBSITE

我需要建站

*请认真填写需求信息,我们会在24小时内与您取得联系。