在本教程中,您将学习如何使用switch-case语句来测试或评估PHP中具有不同值的表达式。
PHP If…Else Vs Switch…Case
switch-case语句是if-elseif-else语句的代替方法,它执行几乎相同的操作。 switch-case语句针对一系列值测试变量,直到找到匹配项,然后执行与该匹配项对应的代码块。
switch(n){
case label1:
// 要执行的代码,当 n=label1
break;
case label2:
// 要执行的代码,当 n=label2
break;
...
default:
// 要执行的代码,当n与所有标签都不匹配
}
看以下示例,示例每天显示不同的消息。
<?php
$today = date("D");
switch($today){
case "Mon":
echo "今天是星期一。 打扫你的房子。";
break;
case "Tue":
echo "今天是星期二。 买一些食物。";
break;
case "Wed":
echo "今天是星期三。 去看医生。";
break;
case "Thu":
echo "今天是星期四。 修理你的车。";
break;
case "Fri":
echo "今天是星期五。 今夜开派对。";
break;
case "Sat":
echo "今天是星期六。是看电影的时间。";
break;
case "Sun":
echo "今天是星期天。休息一下。";
break;
default:
echo "当天没有可用信息。";
break;
}
?>
switch-case语句与if-elseif-else语句的不同之处在于一个重要方面。 switch语句逐行执行(即逐条语句),一旦PHP找到一个条件表达式为true的case语句,它不仅执行与case语句相对应的代码,而且还将执行所有后续case语句,直到该语句结束为止。 会自动切换switch的块。
为了防止这种情况,请在每个case块的末尾添加一个break语句。 break语句告诉PHP一旦执行了与第一个真实case相关的代码,便跳出switch-case语句块。