請分析以下PHP代碼的輸出結果:
$a= 'dog'; switch($a) { case 'cat': echo "\$a is cat"; case 'dog': echo "\$a is dog"; case 'pig': echo "\$a is pig"; }
最終的輸出結果是:$a is dog $a is pig
原因分析:
switch會根據條件,跳轉到第一個匹配的case處開始執行。case只是一個供switch跳轉的標記,並沒有划分區塊的作用。所以即使有多個case與switch匹配,也只會跳轉到第一個匹配的case開始往下執行。如果不break, 會從匹配的第一個case開始,一直執行到整個switch結構結束。
