^ 回到顶部
  • 人生没有定律,每个人都有自己的节奏
  • 本站wordpress建站教程均通过实践后发布,希望对你有帮助,如果有代码出错,请联系站长解决
  • 希望你的坚持,都是因为热爱,而不是因为不甘心
  • 8年wordpress建站经验,5星服务品质
  • 那些不愿意让你吃亏的人,才是真正值得你深交的人,也是值得你付出时间的人
  • 腾讯云3年2核2G新品轻量限时特惠只需408元

零起点php入门第7课-php语言结构(2)

这节课我们学习 php 的选择语句,选择语句用于使程序在不同的条件下执行不同的语句。PHP 中的选择语句有 if 语句和 switch 语句。

1、if 语句

2 核 2G 限时特惠 396 元/3 年    宝塔建站 10850 大礼包

if 语句也称为条件语句。它有多种使用形式,包括 if 形式、if…else 形式和 if…elseif…else 形式,下面分别介绍这些形式的使用。

if 形式是 if 语句最基本的形式,它的语法结构如下所示:

if (表达式)
语句 1;

如果表达式的值为 TRUE,则执行语句 1,为 FALSE 则执行语句 1 之后的语句,这里的语句 1 可以是一个语句,也可以是一个复合语句。如果是复合语句,必须带有花括号。该结构的流程如下图所示。

零起点php入门第7课-php语言结构(2)

 

我们通过下面代码来™演示 if 选择语句的 if 形式用法。

<?php
	$x=6;		//初始化两个变量
	$y=7;
	if($y>$x)		//比较运算结果为 TRUE
		$x=$y;		//该语句将$y 的值赋值给$x
	echo "两个变量中比较大的值是$x 。";			//输出两个变量中比较大的值
?>

代码运行结果:两个变量中比较大的值是 7。

以上代码的作用就是输出两个变量中比较大的值,如果变量 y 的值小于变量 x,则赋值语句不会被执行。通过 if 语句来保证$x 值永远为最大的。

2、if…else 形式

if…else 形式的语法结构如下所示:

if (表达式)
语句 1;
else
语句 2;

如果表达式的值为 TRUE,则执行语句 1,为 FALSE 则执行语句 2,该结构的流程如图所示。

零起点php入门第7课-php语言结构(2)

<?php
	$x=16;			//初始化两个变量
	$y=17;
	if($x>$y)			//进行比较运算并根据比较结果执行对应的语句
		echo "两个变量中比较大的值是$x";
	else
		echo "两个变量中比较大的值是$y";
?>

代码运行结果:两个变量中比较大的值是 17

由于变量 y 的值要大于变量 x 的值,因此 else 下的语句被执行。

3、if…elseif…else

if…elseif…else 的语法结构如下所示:

if (表达式 1)
语句 1;
elseif(表达式 2)
语句 2;
else
语句 3;

注意:以上语法结构中的 elseif 项可以有若干个,这里只列出了最基本的形式。该语法结构中的 else 从句是可选的。

这种结构从上到下逐个对条件进行判断,一旦条件满足或者遇到 else 从句就执行与相关的语句,并跳过结构中其他代码。该结构的流程图如图所示。
零起点php入门第7课-php语言结构(2)

<?php
	$score=90;			//定义一个分数变量并初始化
	if($score>=90&&$score<=100)			//对分数进行判断并输出对应评价
		echo '这是一个优秀的成绩。';
	elseif($score>=80&&$score<90)		//对分数进行判断并输出对应评价
		echo '这是一个良好的成绩。';
	elseif($score>=60&&$score<80)		//对分数进行判断并输出对应评价
		echo '这个成绩需要努力。';
	elseif($score<60&&$score>=0)		//对分数进行判断并输出对应评价
		echo '这个成绩非常糟糕!';
	else								//不满足以上任何一个条件则输出合法性提示
		echo '请确定成绩的合法性。';
?>

输出结果:

这是一个优秀的成绩。

当$score=59 时,由于分数在 0~59 之间,因此第 10 行代码会被执行。当$score 为一个大于 100 或者小于 0 的数值时,default 后的语句会被执行。

4、if 语句嵌套

选择语句可以嵌套,也就是在一个选择结构中存在另一个选择结构,这是经常碰到的情况,但也是容易出错的地方,原因常出现在 if 和 else 的匹配问题。PHP 中的 else 总是会与最近的 if 匹配。我们首先来看一个使用正确嵌套的示例。

<?php
	$operator='/';			//定义一个变量并初始化
	$x=15;					//定义两个操作数并初始化
	$y=10;
	if($operator=='+')			//判断运算符并执行相应运算
		echo "$x+$y=".($x+$y);
	elseif($operator=='-')
		echo "$x-$y=",$x-$y;
	elseif($operator=='*')
		echo "$x*$y=".$x*$y;
	elseif($operator=='/'){
		if($y==0)				//循环嵌套,判断除法中的除数是否为 0
			echo '除数为 0,计算错误!';
		else
			echo "$x/$y=".$x/$y;
	}
	else
		echo '请输入一个正确的运算符!';	
?>

代码运行结果:

除数为 0,计算错误!

以上代码的其他情况我们可以通过更改相应变量来查看,这里陌小雨就不做演示了。

5、switch 语句

switch 语句用来实现按照不同的情况执行不同的语句。switch 语句常用于对变量的不同取值执行不同的语句。if…else…if 形式也可以用来实现类似的功能,但是它则常用于针对变量的一个范围执行不同的语句,它的一般形式如下所示:

switch (表达式)
{
case 常量 1:
语句 1 或空;
break;
case 常量 2:
语句 2 或空;
break;

case 常量 n:
语句 n 或空;
break;
default:
语句 n+1 或空;
}

switch 语句执行时,首先计算表达式的值,并将它与每一个 case 后的常量进行比较。如果与某个常量相等,则执行对应的语句,遇到 break 语句则退出 switch 结构,否则就一直向下执行直到遇到 break 或者 default。结构中的 default 不是必须有的,它用来匹配 case 情况之外的所有情况。switch 语句的程序流程如图所示。

零起点php入门第7课-php语言结构(2)

<?php
	$week=0;			//定义并初始化星期变量
	switch($week){
		case 0:			//变量为 0 的情况
			echo '星期日。';
			break;
		case 1:			//变量为 1 的情况
			echo '星期一。';
		case 2:			//变量为 2 的情况
			echo '星期二。';
			break;
		case 3:			//变量为 3 的情况
		case 4:			//变量为 4 的情况
			echo '星期三或者星期四。';
			break;
		case 5;			//变量为 5 的情况
			echo '星期五。';
			break;
		default:		//变量为以上 case 之外的所有情况
			echo '星期六。';
	}
?>

以上代码中变量值为 0,因此运行结果会输出变量为 0 的情况。

代码输出结果:星期日。

我们将代码中的 week 变量值设置为 1 后运行。

代码输出结果:星期一。星期二。

以上运行结果输出了两个星期,是因为代码中的 case 下的语句中没有 break 语句,因此程序无条件执行变量为 2 的情况下语句并遇到 break 后停止。

我们再将代码中 week 变量设置为 3 或者 4 后运行。

代码运行结果:星期三或者星期四。

变量为 3 或者 4 的运行情况是相同的,因为变量为 3 的情况下没有任何语句,因此他会无条件执行后面情况下的语句直到遇到 break。

我们再将变量改为除 0~5 之外的任意类型值运行,这些值都会匹配 default 值。

代码运行结果:星期六。

下一节课,我们来学习 php 中的循环语句。

赠人玫瑰,手有余香。