js与PHP跳出循环

javascript

先看break

<script>
for(var i=0;i<=10;i++){
  document.write(i);
  if(i==5){break;}
}
</script>

输出的结果为:12345,当i的值等于5的时候直接通过break跳出了循环,不再继续往下运行


再来看continue:

<script>
for(var i=0;i<=10;i++){
  if(i==5){continue;}
  document.write(i);
}
</script>

输出的结果为:1234678910,当i的值等于5的时候跳了过去继续向下执行循环


最后来看returnreturn只能出现在函数里面,如果出现在上面的实例里的for循环里会报错,而return出现在函数里的作用就是即使函数下面还有内容也不会再执行了。

<script>
if (username==""){
  alert("请输入用户名");
  return false;
}
if(qq==""){
  alert("请输入QQ");
  return false;
}
</script>

当username为空时,就不会再向下执行。


此外,break 语句和 continue 语句都可以与有标签的语句联合使用,返回代码中的特定位置。

通常,当循环内部还有循环时,会这样做,例如:

var iNum = 0;

outermost:
for (var i=0; i<10; i++) {
  for (var j=0; j<10; j++) {
    if (i == 5 && j == 5) {    break outermost;
  }
  iNum++;
  }
}

alert(iNum); //输出 "55"

在上面的例子中,标签 outermost 表示的是第一个 for 语句。正常情况下,每个 for 语句执行 10 次代码块,这意味着
iNum++ 正常情况下将被执行 100 次,在执行完成时,iNum 应该等于 100。这里的 break
语句有一个参数,即停止循环后要跳转到的语句的标签。这样 break 语句不止能跳出内部 for 语句(即使用变量 j 的语句),还能跳出外部
for 语句(即使用变量 i 的语句)。因此,iNum 最后的值是 55,因为当 i 和 j 的值都等于 5 时,循环将终止。




PHP

continue
continue
是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。
例如在下面的这段PHP代码片段中:

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

输出100以内,既不能被7整除又不能被3整除的那些自然数,循环中先用if条件语句判断那些能被整除的数,然后执行 continue,就直接进入了下个循环。不会执行下面的输出语句了。

break
break是被用在上面所提的各种循环和switch语句中的。作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。
看下面这个多重循环嵌套的例子:

for($i = 1;$i <= 10; $i++ ){
  for($j = 1;$j <= 10;$j++){
    $m = $i  $i + $j  $j;
    echo”$m 
<br/>”;
    if($m < 90 || $m > 190) {
    break 2;
    }
  }
}

这里使用了break 2跳出了两重循环,将2去掉,得到的结果是完全不一样的。

如果不使用参数,跳出的只是本次循环,第一层循环会继续执行下去。


exit
exit是用来结束程序执行的。可以用在任何地方,本身没有跳出循环的含义。exit可以带一个参数,如果参数是字符串,PHP将会直接把字符串输出,如果参数是integer整形(范围是0-254),那个参数将会被作为结束状态使用。

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


和上面使用exit的效果是一样的。

在循环结束条件,自然跳出。