switch 語句類似于具有同一個表達(dá)式的一系列 if 語句。很多場合下需要把同一個變量(或表達(dá)式)與很多不同的值比較,并根據(jù)它等于哪個值來執(zhí)行不同的代碼。這正是 switch 語句的用途。
Note:
注意和其它語言不同,continue 語句作用到 switch 上的作用類似于 break。如果在循環(huán)中有一個 switch 并希望 continue 到外層循環(huán)中的下一輪循環(huán),用 continue 2。 (推薦學(xué)習(xí):PHP視頻教程)
下面兩個例子使用兩種不同方法實(shí)現(xiàn)同樣的事,一個用一系列的 if 和 elseif 語句,另一個用 switch 語句:
switch 結(jié)構(gòu)
<?php if ($i == 0) { echo "i equals 0"; } elseif ($i == 1) { echo "i equals 1"; } elseif ($i == 2) { echo "i equals 2"; } switch ($i) { case 0: echo "i equals 0"; break; case 1: echo "i equals 1"; break; case 2: echo "i equals 2"; break; } ?>
case 表達(dá)式可以是任何求值為簡單類型的表達(dá)式,即整型或浮點(diǎn)數(shù)以及字符串。不能用數(shù)組或?qū)ο?,除非它們被解除引用成為簡單類型?/p>
可作等級評價:
$var = 95; switch(true){ case $var < 100; $level = 1; break; case $var < 95; $level = 2; break; default : $level=9; break; }