下面我们利用逻辑运算符,配置选择分支程序,做一些功能。
以较为熟习的学习成绩输出为例。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('分数无效');}
为了能能够重复利用这个功能,而不是来一个数,写一堆判断,这样做了很多重复事情。我们先提前将,把这个功能封装为一个函数。如下:
/ @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样式渲染前端页面,使结果看上去更为直不雅观。
我们创造程序按照我们预期的结果进行了输出,这便是我们要的结果。
# 1.10 选择分支选择分支语句,除了上面的if...else...,好友一个switch...case...这个常用的语法构造。
如果处理繁芜的运用处景,if...else...多层嵌套,已经使程序构造变得过于繁芜,难以掩护。这时候可以考虑一下switch语句,看能不能给逻辑构造带来清晰的效果。
上面一段代码,是某国产开源商城系统内容的一段代码。嵌套的if语句,对不同场景进行处理。下面再看一段利用switch处理的场景。
这一段实现的额功能,是根据传入的数字,也便是日志记录类型,进行相应的韶光区域的sql查询。
如果=1,显示为过去一周;
如果=2,显示为过去一个月;
如果=3,过去三个月;
如果=4,过去半年;
如果=5,过去一年。
由于log_type在利用之前就已做生意定好,却有明确的返回值,以是利用switch...case...能免去一堆elseif的窘境。
大家把稳case中必须明确地利用break跳出分支。不能省去。如果没有写,可是会一撸到底的。知足条件即实行。写程序的时候,一定不要犯语法的缺点。