PHPでswitchの挙動に?ってなったのでメモメモ

NO IMAGE

switch文が好きでよく使うのですが、結果がおかしくなって???r(・x・。)アレ???となったので忘れないように書いておきます。


こんなswitch文があったとします。
当然結果はappleです。


こちらの場合はどの場合にもマッチしないのでdefaultの値が返ってきます。
ところが

 ___
/ || ̄ ̄|| ∧_∧
|.....||__|| (     )  どうしてこうなった・・・
| ̄ ̄\三⊂/ ̄ ̄ ̄/
|    | ( ./     /
 ___
/ || ̄ ̄|| ∧_∧
|.....||__|| ( ^ω^ )  どうしてこうなった!?
| ̄ ̄\三⊂/ ̄ ̄ ̄/
|    | ( ./     /

 ___ ♪ ∧__,∧.∩
/ || ̄ ̄|| r( ^ω^ )ノ  どうしてこうなった!
|.....||__|| └‐、   レ´`ヽ   どうしてこうなった!
| ̄ ̄\三  / ̄ ̄ ̄/ノ´` ♪
|    | ( ./     /

 ___        ♪  ∩∧__,∧
/ || ̄ ̄||         _ ヽ( ^ω^ )7  どうしてこうなった!
|.....||__||         /`ヽJ   ,‐┘   どうしてこうなった! 
| ̄ ̄\三  / ̄ ̄ ̄/  ´`ヽ、_  ノ    
|    | ( ./     /      `) ) ♪

PHP: switch - Manualにも同様のことをして報告している人がいるので有名ななのかな・・・??
それとも仕様なのでしょうか。。

ともあれ、switch文で0は危険だよ!って事例なのでした。