これに似たコードをレビューしていて
$age = 10;
switch ($age) {
//年齢が20歳以上、50歳以下
case $age > 20 && $age < 49:
echo '21~49歳です。';
break;
//年齢が50歳以上
case $age > 50:
echo '50歳以上です。';
break;
default:
echo "該当しません。";
break;
}
出力: 該当しません。
で、気になったので、
$age = 0;
switch ($age) {
//年齢が20歳以上、50歳以下
case $age > 20 && $age < 49:
echo '21~49歳です。';
break;
//年齢が50歳以上
case $age > 50:
echo '50歳以上です。';
break;
default:
echo "該当しません。";
break;
}
出力: 21~49歳です。
ん?
該当しませんじゃないの?
(ていうか私はswitchに比較条件入れようとそもそも思わないですが)
1以上は 「該当しません」が出力されます。
0のときだけ先頭が評価されます。
教えてえろいひと。