您的位置:首页 > 编程语言 > PHP开发

php多路分支结构else if案例解析其具体用法

2012-05-12 11:07 615 查看
无论是单向分支的if语句还是双向的if else语句,都是php程序员在编程中使用较多的两种结构。但是,在涉及多路分支结构时,很多初级php程序员对else if语句的使用很茫然,甚至乱用。那么,else if的分支结构用法如何,笔者分享一下自己的体会。

请参考下面的else if语句使用实例,代码是包含在一个名为elseif.php的文件中:

<?php
date_default_timezone_set("Etc/GMT-8");

$hour = date("H");
if ($hour < 6){
echo "当前是北京时间凌晨".date("H:i:s",time());
}else if ($hour < 9){
echo "当前是北京时间早上".date("H:i:s",time());
}else if ($hour < 12){
echo "当前是北京时间上午".date("H:i:s",time());
}else if ($hour < 14){
echo "当前是北京时间中午".date("H:i:s",time());
}else if ($hour < 17){
echo "当前是北京时间下午".date("H:i:s",time());
}else if ($hour < 19){
echo "当前是北京时间傍晚".date("H:i:s",time());
}else if ($hour < 22){
echo "当前是北京时间晚上".date("H:i:s",time());
}else{
echo "夜间休息时间!";
}


* date_default_timezone_set("Etc/GMT-8"); 设置服务器端时间为东八区时

* echo "当前是北京时间".date("Y-m-d H:i:s",time()); 获取服务器端当前时间

本例中通过date("H")函数获取服务器端时间段的取值范围是0~24,因此,在第一个判断if条件的表达式实际上是指$hour的范围是0~6.那么,if条件表达式的反面情况(条件)

就是6~24,也就是说else if语句其实是对if条件的反面情况进行判断的,只不过第一个else if语句的表达式$hour<9,是在6<=$hour<24这个大范围下再进行一次细分。以此类推

,第二个else if语句是在条件9<=$hour<24的情况下划分成9<=$hour<12与12<=$hour<24两部分范围。接着,再通过else if语句将12<=$hour<24的范围划分为12<=$hour<14与14<=$hour<24……如此细分,直到将条件划分为19<=$hour<22与22<=$hour<24为止,通过else语句来表达22<=$hour<24这个条件,即最后一个条件。从这个例子可以看出,使用else if语句有一条规则,那就是把范围小的条件放在前面 *优先处理。把一个大范围的条件每每细分为两种情况,通过else
if语句再对条件进行细化,直到把范围划分完成为止。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: