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

#1.9 条件判断

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

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

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

代码像下面这样:

$score = 68;if ($score < 60) { print("不及格");} elseif ($score < 80) { print('及格');} elseif ($score < 100) { print('优秀');} elseif ($score === 100) { print('满分');} else { print('分数无效');}

16fbd9f523389c7fce38d3f8781c6a28.png

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

/** * @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 '分数无效'; }}

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

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样式渲染前端页面,使结果看上去更为直观。

ef57f8bec81f568d51879c54b52456be.png

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

# 1.10 选择分支

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

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

60ffa33b8188d4d542344d21f99f8e68.png

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

9ae0fea79096c2590ed86d859b8ec6d9.png

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

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

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

如果=3,过去三个月;

如果=4,过去半年;

如果=5,过去一年。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值