^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 若文中代码有问题,可能是少了几个问号,留言一定会解决!
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 站点文章结尾新增了赞赏通道
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人

零起点php入门第9课-php语言结构(4)

上节课我们介绍了 php 的循环语句 for 循环和 while 循环,这节课我们学习循环语句的嵌套和 php 中常用的跳转语句。

1、循环语句的嵌套

陌小雨用一个简单的例子来说明 for 循环的嵌套:

<?php
		$line=5;		//用来控制行数
		for($i=1;$i<=$line;$i++){
			for($j=1;$j<=$i;$j++){
				echo '*';			//输出星号
			}
			echo '<br />';			//输出换行
		}
?>

代码输出结果:

*
**
***
****
*****

用这个输出小学的 99 乘法表是很方便的。

<?php
	for($i=1;$i<=9;$i++){
		for($j=1;$j<=$i;$j++){
			echo "$j × $i= ".$i*$j.' ';
		}
		echo '<br />';
	}
?>

是的,就这几行代码,99 乘法表已经出来了。

2、跳转语句

(1)break 语句

break 语句我们在学习 switch 语句时就多次使用过,它用来当前 for、foreach、while、do-while 或者 switch 结构的执行。break 可以接受一个可选的参数用来指定 break 跳出几层语言结构,默认值为 1,常用在循环嵌套中。

<?php
	for($x=1;;$x++){		//省略表达式 2 的 for 循环将是无限循环
		echo "$x<br />";
		if($x==5){
			break;			//使用 if 语句控制退出无限循环
		}
	}
?>

代码运行结果:

1
2
3
4
5

从以上运行结果我们可以看出,这个无限循环并没有使浏览器崩溃,而是正确输出了结果,这也是 break 语句的常用方式。

<?php
	for($x=1;$x<=10;$x++){		//第一层 for 循环结构
		echo '1';
		for(;;){			//第二层 for 循环结构
			echo '<br />2';
			break 2;		//跳出两层循环结构
		}
	}
?>

代码运行结果:

1
2

以上代码通过 break 跳出了两个简单的 for 循环结构,在实际应用中我们应该因地制宜灵活运用 break。

(2)continue 语句

continue 语句用来跳过本次循环中剩余的代码直接进行下一次循环表达式的判断。与 break 语句类似的,continue 语句也可以接受一个可选的参数来决定跳过多层结构。

<?php
	for($i=1;$i<=10;$i++){		//for 循环输出数值
		if($i%3==0)			//判断变量是否为 3 的整数倍
			continue;			//跳过本次循环剩余语句
		echo "$i<br />";		//输出变量的值
	}
?>

代码输出结果:

1
2
4
5
7
8
10

以上代码通过循环输出 1~10 直接的数值,由于中间加入了跳转语句致使是 3 的整数倍的数值不被输出。

<?php
	$i=0;			//初始化循环控制变量
	while ($i++<3){
		echo '第一层 while 循环。<br />';			//第一层循环输出
		while (TRUE) {
			echo "第二层 while 循环。<br />";			//第二层循环输出
			while (TRUE) {
				echo "第三层 while 循环。<br />";			//第三层循环输出
				continue 3;
			}
			echo "这里不会被输出<br />";		//由于 continue 控制语句跳出多层循环,因此这里不会被输出
		}
		echo "这里同样不会被输出。";		//由于 continue 控制语句跳出多层循环,因此这里不会被输出
	}
?>

代码运行结果:

第一层 while 循环。
第二层 while 循环。
第三层 while 循环。
第一层 while 循环。
第二层 while 循环。
第三层 while 循环。
第一层 while 循环。
第二层 while 循环。
第三层 while 循环。

(3)goto 语句

goto 语句用来跳转到程序的指定位置开始执行,可以替代 break 跳出多层结构。PHP 中的 goto 语句被限制在只能在同一个文件和作用域中跳转。例如不可以跳入任何循环和 swith 结构中。goto 语句的常用形式如下所示:

goto tab

tab:

tab 用来表示程序要跳转到位置的标记与 goto 后的标记要一致。

<?php
	for($i=1;$i<=5;$i++){		//使用 for 循环循环输出 1~5
		if($i==3)
			goto ECH;			//当$i 为 3 时候跳出 for 循环
		echo "$i<br />";
	}
	ECH:				//执行 goto 语句后程序将从此处开始执行
	echo "此时\$i=$i";
?>

代码运行结果:

1
2
此时$i=3

我们可以看到 goto 语句的使用非常方便,但是在编程过程中应该尽量少使用。过多地使用 goto 语句会使程序流程变得混乱,进而使程序阅读和调试都变得非常困难。PHP 中除了上述三种跳转语句之外,return 语句也是用来使程序进行跳转,return 语句的知识将在接下来课程函数的学习部分进行讲解。

小结:陌小雨通过四节课带大家学习了构成程序整体框架的语言结构。这些知识包括语句的基本概念、选择语句、循环语句和跳转语句。其中的循环语句部分是重点,而且由于循环语句的执行流程均有各自的特点,掌握起来也是比较难的。因此需要多实践,从实践中理解这些知识。

历史上的今天:
让小雨知道,这篇文章帮到了你

展开阅读全文

评论 0

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

登录

忘记密码 ?

切换登录

注册