PHP Switch…Case 条件语句
在本教程中,您将学习如何使用 switch-case 语句来测试或评估 PHP 中具有不同值的表达式。
PHP If…Else 与 Switch…Case
switch-case 语句是 if-elseif-else 语句的替代方案,它的作用几乎相同。 switch-case 语句根据一系列值测试变量,直到找到匹配项,然后执行与该匹配项对应的代码块。
switch(n){
case label1:
// 如果 n=label1 时要执行的代码
break;
case label2:
// 如果 n=label2 时要执行的代码
break;
...
default:
// 如果 n 不同于所有 label,则要执行的代码
}
case label1:
// 如果 n=label1 时要执行的代码
break;
case label2:
// 如果 n=label2 时要执行的代码
break;
...
default:
// 如果 n 不同于所有 label,则要执行的代码
}
考虑以下示例,该示例每天显示不同的消息。
<?php
$today = date("D");
switch($today){
case "Mon":
echo "Today is Monday. Clean your house.";
break;
case "Tue":
echo "Today is Tuesday. Buy some food.";
break;
case "Wed":
echo "Today is Wednesday. Visit a doctor.";
break;
case "Thu":
echo "Today is Thursday. Repair your car.";
break;
case "Fri":
echo "Today is Friday. Party tonight.";
break;
case "Sat":
echo "Today is Saturday. Its movie time.";
break;
case "Sun":
echo "Today is Sunday. Do some rest.";
break;
default:
echo "No information available for that day.";
break;
}
?>
switch-case
语句与 if-elseif-else
语句在一个重要方面不同。 switch
语句逐行执行(即逐个语句),一旦 PHP 找到一个计算结果为 true 的 case
语句,它不仅会执行与该 case 语句对应的代码,还会执行所有后续 case
语句直到结束 switch
自动阻止。
为了防止这种情况,在每个 case
块的末尾添加一个 break
语句。 break
语句告诉 PHP 在执行与第一个 case 相关联的代码后跳出 switch-case
语句块。
Advertisements