PHP中跳出轮回的要领以及各要领之间的区别

PHP中的轮回布局大抵有for轮回,while轮回,do{} while 轮回以及foreach轮回几种,不管在哪种轮回中,在PHP中跳出轮回大抵有下面的这几种方法:

continue

continue 是用来用在轮回布局中,节制措施放弃本次轮回continue语句之后的代码并转而举办下一次轮回。continue自己并不跳出轮回布局,只是放弃这一次轮回。假如在非轮回布局中(譬喻if语句中,switch语句中)利用continue,措施将会堕落。

例:

<?php for($i = 1;$i <= 100; $i++ ){ if($i % 3 == 0 || $i % 7 == 0){ continue; } else{ echo”$i \n<br/>”; } } ?>

表明:

PHP的代码片断的浸染是输出100以内,既不能被7整除又不能被3整除的那些自然数,轮回中先用if条件语句判定那些能被整除的数,然后执行 continue;语句,就直接进入了下个轮回。不会执行下面的输出语句了。

break

break是被用在上面所提的各类轮回和switch语句中的。他的浸染是跳出当前的语法布局,执行下面的语句。break语句可以带一个参数n,暗示跳出轮回的层数,假如要跳出多重轮回的话,可以用n来暗示跳出的层数,假如不带参数默认是跳出本重轮回。

<?php 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; } } } ?>

这里利用了break 2跳出了两重轮回,你可以试验一眼,将2去掉,获得的功效是完全纷歧样的。假如不利用参数,跳出的只是本次轮回,第一层轮回会继承执行下去。

goto

goto实际上只是一个运算符,和其他语言一样,PHP中也不勉励滥用goto,滥用goto会导致措施的可读性严重下降。goto的浸染是将措施的执行从当前位置跳转到其他任意位置,goto自己并没有要竣事的轮回的浸染,但其跳转位置的浸染使得其可以作为跳出轮回利用。但PHP5.3及以上版本遏制了对goto的支持,所以应该只管制止利用goto。

例:

<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) <= 29){ goto a; } echo “$i”; } a: echo” this is the end”; ?>

例子中利用了goto来跳出轮回,这个例子用来检测1000以内,那些数的平方根大于29。

exit die

exit(die同理)是用来竣事措施执行的。可以用在任那里所,自己没有跳出轮回的寄义。exit可以带一个参数,假如参数是字符串,PHP将会直接把字符串输出,假如参数是integer整形(范畴是0-254),谁人参数将会被作为竣事状态利用。

例:

<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) >= 29){ echo”$i \n<br/>”; } else{ exit; } } echo”本行将不会被输出”; ?>

上面这个例子中直接在从轮回里竣事了代码的运行,这样会导致后头的代码都不会被执行,假如是在一个php web 页面内里,甚至连exit后头的html代码都不会被输出。

return

return 语句是用来竣事一段代码,并返回一个参数的。可以从一个函数里挪用,也可以从一个include()可能require()语句包括的文件里来挪用,也可以是在主措施里挪用,假如是在函数里挪用措施将会顿时竣事运行并返回参数,假如是include()可能require()语句包括的文件中被挪用,措施执行将会顿时返回到挪用该文件的措施,而返回值将作为include()可能require()的返回值。而假如是在主措施中挪用,那么主措施将会顿时遏制执行

例:

<?php for($i = 1000;$i >= 1 ; $i– ){ if( sqrt($i) >= 29){ echo”$i \n<br/>”; } else{ return; } } echo”本行将不会被输出”; ?>

以上内容来历自网站略做修改,假如错误,请大神们在下面评论中指出!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9678.html