在本教程中,您将学习如何使用switch-case语句来测试或评估PHP中具有不同值的表达式。
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语句块。