1、break, continue, goto, return, exit 跳转循环中的区别:
?、break:
实例一:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 3; $i++) { 4 for ($j = 1; $j <= 3; $j++) { 5 $sum = $i * $j; 6 if ($sum > 3) { 7 break; // break 1; 8 } 9 $arr[$i][$j] = $sum; 10 } 11 } 12 print_r($arr); 13 14 运行结果: 15 Array 16 ( 17 [1] => Array 18 ( 19 [1] => 1 20 [2] => 2 21 [3] => 3 22 ) 23 24 [2] => Array 25 ( 26 [1] => 2 27 ) 28 29 [3] => Array 30 ( 31 [1] => 3 32 ) 33 34 )
实例二:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 3; $i++) { 4 for ($j = 1; $j <= 3; $j++) { 5 $sum = $i * $j; 6 if ($sum > 3) { 7 break 2; 8 } 9 $arr[$i][$j] = $sum; 10 } 11 } 12 print_r($arr); 13 14 运行结果: 15 Array 16 ( 17 [1] => Array 18 ( 19 [1] => 1 20 [2] => 2 21 [3] => 3 22 ) 23 24 [2] => Array 25 ( 26 [1] => 2 27 ) 28 29 )
?、continue:
实例一:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 10; $i++) { 4 if ($i % 2 == 0) { 5 continue; 6 } 7 $arr[$i] = $i; 8 } 9 print_r($arr); 10 11 运行结果: 12 Array 13 ( 14 [1] => 1 15 [3] => 3 16 [5] => 5 17 [7] => 7 18 [9] => 9 19 )
实例二:
?、goto:实际上只是一个运算符,和其他语言一样,PHP 中也不鼓励滥用 goto,滥用 goto 会导致程序的可读性严重下降。goto 的作用是将程序的执行从当前位置跳转到其他任意位置,goto 本身并没有要结束的循环的作用,但其跳转位置的作用使得其可以作为跳出循环使用。但 PHP5.3 及以上版本停止了对 goto 的支持,所以应该尽量避免使用 goto
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 10; $i++) { 4 if (sqrt($i) > 2) { 5 $arr[$i] = $i; 6 goto a; 7 } 8 } 9 a: 10 print_r($arr); 11 12 运行结果: 13 Array 14 ( 15 [5] => 5 16 )
?、return:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 10; $i++) { 4 if (sqrt($i) > 2) { 5 $arr[$i] = $i; 6 } else { 7 //return; 8 } 9 } 10 print_r($arr); 11 12 运行结果: 13 Array 14 ( 15 [5] => 5 16 [6] => 6 17 [7] => 7 18 [8] => 8 19 [9] => 9 20 [10] => 10 21 ) 22 23 <?php 24 $arr = []; 25 for ($i = 1; $i <= 10; $i++) { 26 if (sqrt($i) > 2) { 27 $arr[$i] = $i; 28 } else { 29 return; 30 } 31 } 32 print_r($arr); // 什么也没输出
当循环满足循环的临界条件时就自己退出了,所以什么也没输出
?、exit:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 10; $i++) { 4 if (sqrt($i) > 2) { 5 $arr[$i] = $i; 6 } else { 7 exit; 8 } 9 } 10 print_r($arr); // 什么也没输出,同 return
?、die:
1 <?php 2 $arr = []; 3 for ($i = 1; $i <= 10; $i++) { 4 if (sqrt($i) > 2) { 5 $arr[$i] = $i; 6 } else { 7 die; 8 } 9 } 10 print_r($arr); // 什么也没输出,同 return
2、
时间: 2024-10-12 21:59:45