在本教程中,您將學習如何使用switch-case語句來測試或評估PHP中具有不同值的表達式。
switch-case語句是if-elseif-else語句的代替方法,它執(zhí)行幾乎相同的操作。 switch-case語句針對一系列值測試變量,直到找到匹配項,然后執(zhí)行與該匹配項對應(yīng)的代碼塊。
switch(n){ case label1: // 要執(zhí)行的代碼,當 n=label1 break; case label2: // 要執(zhí)行的代碼,當 n=label2 break; ... default: // 要執(zhí)行的代碼,當n與所有標簽都不匹配 }
看以下示例,示例每天顯示不同的消息。
<?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 "當天沒有可用信息。"; 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語句塊。