虽然continue和break都是循环辅助手段,可以在进入循环体后,根据循环体内的判断结果进行忽略部分的循环。但是它们的用途是各有千秋。
break:结束整个循环过程,不再判断执行循环的条件是否成立。能够用于do...while,while,for这三种循环语句,它还可以跟switch语句一起使用。但在php中,break 结束当前 for,foreach,while,do-while 或者 switch 结构的执行。
break在switch(开关语句)中在执行一条case后跳出语句的作用。
在while和do...while中,可使程序终止循环。
在for中,与continue不同的是,控制段的更新部分也会被跳过。
通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
嵌套循环里的break语句只是使程序跳出里层的循环,要跳出外层的循环则还需break。
continue:表示结束本次循环,而不终止整个循环的执行,能够用于do...while,while,for这三种循环语句,不同于break,continue不能和switch语句一起使用,因为switch不是循环语句,continue跳出循环意味着跳出了switch。但是在 php 中 switch 语句被认为是可以使用 continue 的一种循环结构。
在for循环中,for(表达式1;表达式2;表达式3),首先执行表达式1,但是表达式1在整个循环中仅执行一次,接着执行表达式2,如果满足条件,那么执行循环体,如果在循环体中执行了continue语句,那么就跳转到表达式3处执行,即先求更新表达式的值,接下进行下一次循环,执行表达式2,看是否满足条件,即continue语句被执行时,下一个被求值的表达式是循环判断语句,试图再次进行循环。
在while循环中,如果执行了continue语句,那么之后的动作是求循环判断表达式的值。
在do while循环体中,如果执行了continue语句,那么就跳转到表达式处进行下一次的循环判断。