【发布时间】:2012-09-30 09:29:17
【问题描述】:
我在 php switch case 中遇到问题。
当我设置 $number=0 时,它应该运行第一个 case 但这里的代码返回 10-20K 是第二种情况.
我检查了比较运算符,在 if else 情况下测试它们返回正确的值,但这里第一种情况不在 $number=0
上运行为什么会这样? php 认为 0 为 false 或代码有问题?
链接到键盘粘贴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;
}
?>
【问题讨论】:
标签: php switch-statement