码迷,mamicode.com
首页 > Web开发 > 详细

PHP面试题集锦二

时间:2015-08-29 12:22:53      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

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、

PHP面试题集锦二

标签:

原文地址:http://www.cnblogs.com/atblog/p/4768817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!