在 PHP Switch Case 中使用預設值
我們將介紹 PHP 中的 switch case 語句。我們將描述 switch case 的不同場景以及程式碼如何處理 case。然後我們將介紹 break
語句及其在 PHP 中 switch case 語句中的使用。
如果在它之前存在匹配的案例,我們將檢查 default
案例是否執行。在此方法中,我們將刪除 break
語句以檢查結果。
PHP switch
案例
switch-case
語句是有條件的,可以替代 if-elseif-else
語句。該語句檢查變數的幾種情況,直到找到正確的匹配項並根據匹配的情況執行它。我們可以使用 switch
語句來測試變數,並使用 case
語句來指定要測試的案例。我們在 case 語句之後編寫一段程式碼,以便在 case 匹配時執行程式碼。
switch-case
語句與 if-elseif-else
語句以一種獨特的方式不同。if-elseif-else
語句在條件為真後執行唯一的程式碼並中止條件測試。但是,在 switch case 語句中,每個 case 都會被測試,並且每個對應的程式碼都會執行。為了解決這個問題,我們使用 break
語句。當 case 匹配並且相應的程式碼執行時,執行到 break
語句,條件檢查中止。因此,我們在每個 case 的末尾寫上 break
語句。
例如,建立一個變數 $favfood
併為其分配值 pizza
。用括號中的變數 $favfood
編寫一個 switch
語句。在 switch 語句中,編寫 case
語句並提供 case momo
作為 case "momo":
。不要錯過值後面的冒號。使用案例下方的 echo
語句並顯示訊息 Your favorite food is momo!
。在顯示訊息後編寫 break
語句。類似地,為 spaghetti
和 pizza
編寫案例,就像你為 momo
所做的那樣,相應地顯示訊息,併為每個案例編寫 break
語句。
下面的示例顯示訊息 Your favorite food is pizza!
因為變數 $favfood
儲存了值 pizza
。首先,測試案例 momo
。由於它不匹配,執行移向案例 spaghetti
。這個 case 也不匹配,但是 case pizza
匹配。然後它顯示相應的訊息並執行 break
語句。break
語句結束整個 switch case 語句,防止進一步的程式碼被執行。
示例程式碼:
# php 7.*
<?php
$favfood = "pizza";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!";
break;
case "spaghetti":
echo "Your favorite food is spaghetti!";
break;
case "pizza":
echo "Your favorite food is pizza!";
break;
case "burger":
echo "Your favorite food is burger!";
break;
}
?>
輸出:
Your favorite color is pizza!
在 PHP 中的 switch-case
語句中使用 default
語句
我們可以在 switch-case
語句中使用 default
語句來表示不符合上述指定情況的情況。換句話說,如果沒有任何情況匹配,default
語句將執行。我們在所有案例的末尾寫下 default
語句。在上面的例子中,沒有預設情況。如果上述情況均不匹配,則程式碼不輸出任何內容。因此,default
語句解決了其餘的情況。
我們可以修改第一個程式碼示例來說明 default
語句的使用。例如,將值 spaghetti
分配給變數 $favfood
。刪除 case spaghetti
的程式碼塊並新增預設語句。在 default
語句中,顯示訊息 We could not find your favorite food
。在訊息後寫下 break
語句。
在下面的示例中,沒有指定的案例匹配。因此,控制到達 default
語句。然後,它顯示相應的訊息。如果我們沒有刪除 spaghetti
的程式碼塊,預設語句將不會被執行。它會顯示 Your favorite food is spaghetti!
的訊息。如果大小寫匹配,break
語句將中止條件檢查。
示例程式碼:
#php 7.x
<?php
$favfood = "spaghetti";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!";
break;
case "pizza":
echo "Your favorite food is pizza!";
break;
case "burger":
echo "Your favorite food is burger!";
break;
default:
echo "We could not find your favorite food";
break;
}
?>
輸出:
We could not find your favorite food
在 PHP switch-case
中使用 default
語句而不使用 break
語句
我們可以在 switch case 中使用 default
語句而不使用 break
語句來檢查 default
塊是否會在它之前執行匹配的 case。我們可以稍微修改上面的示例程式碼以進行演示。例如,將 $favfood
分配給 momo
的值。分別為 momo
、pizza
、burger
和 default
編寫案例和程式碼塊。不要在任何程式碼塊中編寫 break
語句。
在下面的示例中,執行會遍歷所有案例並顯示所有訊息。即使之前有匹配案例,預設塊也將與匹配案例後面的塊一起執行。這是因為我們省略了 break
語句。
示例程式碼:
#php 7.x
<?php
$favfood = "momo";
switch ($favfood) {
case "momo":
echo "Your favorite food is momo!"."<br>";
case "pizza":
echo "Your favorite food is pizza!"."<br>";
case "burger":
echo "Your favorite food is burger!"."<br>";
default:
echo "We could not find your favorite food"."<br>";
}
?>
輸出:
Your favorite food is momo!
Your favorite food is pizza!
Your favorite food is burger!
We could not find your favorite food.
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn