首页 > 后端开发 > php教程 > php break 循环

php break 循环

WBOY
发布: 2016-06-20 12:43:10
原创
1411 人浏览过

请高手给讲讲循环的区别,好吗?尤其是 b/c的区别,实在不明白
A
for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;
echo "$m\n
";
if($m  190) {
break 2;
}
}
}
?>// 2
B
for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;
echo "$m\n
";
if($m  190) {
break ;
}
}
}/ /2 5 10 17 26 37 50 65 82 101
104 109 116 125 136 149 164 181 200
C
for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;
echo "$m\n
";
}
// 2 5 10 17 26 37 50 65 82 101 
5 8 13 20 29 40 53 68 85 104 
10 13 18 25 34 45 58 73 90 109 
17 20 25 32 41 52 65 80 97 116
 26 29 34 41 50 61 74 89 106 125 
 37 40 45 52 61 72 85 100 117 136 
 50 53 58 65 74 85 98 113 130 149 
 65 68 73 80 89 100 113 128 145 164 
 82 85 90 97 106 117 130 145 162 181
 101 104 109 116 125 136 149 164 181 200


回复讨论(解决方案)

你的 C 应为

for($i = 1;$i <= 10; $i++ ){  for($j = 1;$j <= 10;$j++){    $m = $i * $i + $j * $j;    echo "$m  ";  }  echo '<br/>';}
登录后复制
2 5 10 17 26 37 50 65 82 101 5 8 13 20 29 40 53 68 85 104 10 13 18 25 34 45 58 73 90 109 17 20 25 32 41 52 65 80 97 116 26 29 34 41 50 61 74 89 106 125 37 40 45 52 61 72 85 100 117 136 50 53 58 65 74 85 98 113 130 149 65 68 73 80 89 100 113 128 145 164 82 85 90 97 106 117 130 145 162 181 101 104 109 116 125 136 149 164 181 200 
登录后复制
B 应为
for($i = 1;$i <= 10; $i++ ){  for($j = 1;$j <= 10;$j++){    $m = $i * $i + $j * $j;    echo "$m  ";    if($m < 90 || $m > 190) {      break ;    }  }  echo '<br/>';}
登录后复制
2 5 10 17 26 37 50 65 82 101 104 109 116 125 136 149 164 181 200 
登录后复制
即小于 90 的只打印第一列,break 跳出当前循环也就是跳出一重循环
A 应为
for($i = 1;$i <= 10; $i++ ){  for($j = 1;$j <= 10;$j++){    $m = $i * $i + $j * $j;    echo "$m  ";    if($m < 90 || $m > 190) {      break 2;    }  }  echo '<br/>';}
登录后复制
只打印一个 2
因为 break 2 是跳出 2 重循环

双重循环细解,从网上摘抄来,送给有同样疑惑的朋友
public static void main(String[] args)
 {
  for(int i=0①;i  {
   ④for(⑤int j=0;⑥j   {
    ⑧if(j        System.out.print(" ");
    ⑨if(j>=i)
     System.out.print("*");
   }
   ⑩System.out.println();
  }
 }
首先程序会执行①,给i初始化赋值0;然后判断i是不是小于等于5,如果小于等于5就执行④这个for循环。在这个for循环中,先会给变量j初始化赋值0,然后判断j是不是小于等于5,就执行⑧,因为i=j;所以会打印*,然后再执行⑦,把j++,这时j=1,然后执行⑥,判断j是不是小于或等于5,如果小于或等于5就执行⑨,因为j=1,i=0,j>i,所以会打印*,然后一直这样判断,当j=5时,因为它等于5,所以执行⑨,打印*,然后j++,这时j=6,j大于5了就跳出④这个for循环,执行它后面的那句打印换行的代码⑩,然后执行第一个for循环的③,i++,这时i=1,再执行②判断i是不是小于或等于5,如果小于或等于就执行第二个for循环④,然后就执行和上面一样的过程,直到i++=6,判断i大于5,这是程序结束。这里的要点就是①和⑤这样的赋值只会执行一次,其它的按判断结果执行。

在上面跳出2重循环的例子中:
for($i = 1;$i   for($j = 1;$j     $m = $i * $i + $j * $j;
    echo "$m  ";
    if($m  190) {
      break 2;
    }
  }
  echo '
';//
打印多少次呢?
}
换成下面的代码:
for($i = 1;$i   for($j = 1;$j     $m = $i * $i + $j * $j;
    echo "$m  ";
    if($m  190) {
      break 2;
    }
  }
  echo 'print times';//结果仍是 2
}
--所谓跳出 2 重循环,是跳出 第 2 重循环,还是跳出 总计 2  次循环, 跳出所有的循环呢?
请教高手

跳出第 2 重循环了,可第 1 重循环的  echo 'print times'; 是否还应该再继续执行呢?

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板