「基础编程学习」 「PHP7数组详解」:第1章 (5)选择分支结构

2020-04-08 11:26:40 浏览数 (1)

#1.9 条件判断

上面章节讲述了条件判断语句的使用,以及常用的操作符。

下面我们使用逻辑运算符,配置选择分支程序,做一些功能。

以较为熟悉的学习成绩输出为例。60分以下,显示不及格;60-80分以下,显示及格;80-100分以下,显示优秀;100分,显示满分;其他的都是不合格的数据。

代码像下面这样:

代码语言:javascript复制
$score = 68;if ($score < 60) {    print("不及格");} elseif ($score < 80) {    print('及格');} elseif ($score < 100) {    print('优秀');} elseif ($score === 100) {    print('满分');} else {    print('分数无效');}

为了能能够重复使用这个功能,而不是来一个数,写一堆判断,这样做了很多重复工作。我们先提前将,把这个功能封装为一个函数。如下:

代码语言:javascript复制
/** * @param $score 分数 * @return string 返回字符串 */function check_score($score){    if ($score < 60) {        return "不及格";    } elseif ($score < 80) {        return '及格';    } elseif ($score < 100) {        return '优秀';    } elseif ($score === 100) {        return '满分';    } else {        return '分数无效';    }}

好了,有了这个封装函数,我们可以使用一系列的值进行输出测试了。我们准备了各个阶段的分数值,看能不能正确输出:

代码语言:javascript复制
print(check_score(45));print(check_score(60));print(check_score(78));print(check_score(89));print(check_score(98));print(check_score(100));print(check_score(-9));print(check_score(125));

在浏览器内输入网址 www.array.com/chapter1.5.php ,查看返回结果。为了直观,和简单的样式,我们使用bootstrap提供的css样式渲染前端页面,使结果看上去更为直观。

我们发现程序按照我们预期的结果进行了输出,这就是我们要的结果。

# 1.10 选择分支

选择分支语句,除了上面的if...else...,好友一个switch...case...这个常用的语法结构。

如果处理复杂的应用场景,if...else...多层嵌套,已经使程序结构变得过于复杂,难以维护。这时候可以考虑一下switch语句,看能不能给逻辑结构带来清晰的效果。

上面一段代码,是某国产开源商城系统内容的一段代码。嵌套的if语句,对不同场景进行处理。下面再看一段使用switch处理的场景。

这一段实现的额功能,是根据传入的数字,也就是日志记录类型,进行响应的时间区域的sql查询。

如果=1,显示为过去一周;

如果=2,显示为过去一个月;

如果=3,过去三个月;

如果=4,过去半年;

如果=5,过去一年。

因为log_type在使用之前就已经约定好,却有明确的返回值,所以使用switch...case...能免去一堆elseif的窘境。

大家注意case中必须明确地使用break跳出分支。不能省去。如果没有写,可是会一撸到底的。满足条件即执行。写程序的时候,一定不要犯语法的错误。

0 人点赞