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

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

HP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式:

代码:

复制代码 代码如下:

$i = 1;

while (true) { // 这里看上去这个循环会一直执行

if ($i==2) {// 2跳过不显示

$i++;

continue;

} else if ($i==5) {// 但到这里$i=5就跳出循循环了

break;

} else {

echo $i . '
';

}

$i++;

}

exit;

echo '这里不输出';

?>

结果:

1

3

4

continue

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

例如在下面的这段PHP代码片段中:

复制代码 代码如下:

for($i = 1;$i <= 100; $i++ ){

if($i % 3 == 0 || $i % 7 == 0){

continue;

}

& #160;  else{

echo”$i \n
”;

}

}

?>

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
”;

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),该参数将作为最终状态。

复制代码代码如下所示:

for($i = 1000;$i >= 1 ; $i– ){

if( sqrt($i) >= 29){

echo”$i \n
”;

}

else{

exit;

}

}

echo”本行将不会被输出”;

?>

在上面的示例中,代码的操作是直接从循环完成的,这将导致后面的代码执行。如果是在PHP网页中,甚至退出后的HTML代码也不会导出。

返回

返回语句用于结束代码的一部分并返回一个参数。你可以从一个函数调用,但也从一个包括(需要)或()语句包含的文件调用,也可以在主程序中调用,如果是在函数中调用程序将立即结束操作和返回参数,包括(如果需要)或()语句包含的文件称,该计划的执行将立即返回调用该文件,并返回值将包括()或要求()返回值。如果在主程序中调用它,主程序将立即停止执行。

复制代码代码如下所示:

for($i = 1000;$i >= 1 ; $i– ){

if( sqrt($i) >= 29){

echo”$i \n
”;

}

else{

return;

}

}

echo”本行将不会被输出”;

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值