我在php的switch case中遇到了问题。
当我设置$number=0时,它应该运行第一个case,但是这段代码返回了在第二个case中的10-20K。
我检查了比较运算符,在if else中测试它们会返回正确的值,但是这里第一个case不会在$number=0上运行。
为什么会发生这种情况?php将0视为false或代码有误吗?
代码pad粘贴链接http://codepad.org/2glDh39K
以下是代码:
<?php
$number = 0;
switch ($number) {
case ($number <= 10000):
echo "0-10K";
break;
case ($number > 10000 && $number <= 20000):
echo "10-20K";
break;
case ($number > 20000 && $number <= 30000):
echo "20-30K";
break;
case ($number > 30000 && $number <= 40000):
echo "30-40K";
break;
case ($number > 40000 && $number <= 50000):
echo "40-50K";
break;
case ($number > 50000 && $number <= 60000):
echo "50-60K";
break;
case ($number > 60000 && $number <= 70000):
echo "60-70K";
break;
case ($number > 70000 && $number <= 80000):
echo "70-80K";
break;
case ($number > 80000 && $number <= 90000):
echo "80-90K";
break;
case ($number > 90000):
echo "90K+";
break;
default: //default
echo "N/A";
break;
}
?>