在本教程中,您將學(xué)習(xí)如何使用switch-case語句來測試或評估PHP中具有不同值的表達式。
switch-case語句是if-elseif-else語句的代替方法,它執(zhí)行幾乎相同的操作。 switch-case語句針對一系列值測試變量,直到找到匹配項,然后執(zhí)行與該匹配項對應(yīng)的代碼塊。
switch(n){
case label1:
// 要執(zhí)行的代碼,當(dāng) n=label1
break;
case label2:
// 要執(zhí)行的代碼,當(dāng) n=label2
break;
...
default:
// 要執(zhí)行的代碼,當(dāng)n與所有標(biāo)簽都不匹配
}看以下示例,示例每天顯示不同的消息。
<?php
$today = date("D");
switch($today){
case "Mon":
echo "今天是星期一。 打掃你的房子。";
break;
case "Tue":
echo "今天是星期二。 買一些食物。";
break;
case "Wed":
echo "今天是星期三。 去看醫(yī)生。";
break;
case "Thu":
echo "今天是星期四。 修理你的車。";
break;
case "Fri":
echo "今天是星期五。 今夜開派對。";
break;
case "Sat":
echo "今天是星期六。是看電影的時間。";
break;
case "Sun":
echo "今天是星期天。休息一下。";
break;
default:
echo "當(dāng)天沒有可用信息。";
break;
}
?>測試看看?/?switch-case語句與if-elseif-else語句的不同之處在于一個重要方面。 switch語句逐行執(zhí)行(即逐條語句),一旦PHP找到一個條件表達式為true的case語句,它不僅執(zhí)行與case語句相對應(yīng)的代碼,而且還將執(zhí)行所有后續(xù)case語句,直到該語句結(jié)束為止。 會自動切換switch的塊。
為了防止這種情況,請在每個case塊的末尾添加一個break語句。 break語句告訴PHP一旦執(zhí)行了與第一個真實case相關(guān)的代碼,便跳出switch-case語句塊。