PHP中switch对于0的判断不准?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中switch对于0的判断不准?相关的知识,希望对你有一定的参考价值。
$speed=0;
switch($speed)
case ($speed>=100):
echo 150;
break;
case ($speed>=0):
echo 50;
break;
case ($speed<-100):
echo -150;
break;
case ($speed<0):
echo -50;
break;
default:
echo 123123123;
echo '<br/>';
if($speed>=100)
echo 150;
else if($speed>=0)
echo 50;
else if($speed<-100)
echo -150;
else if($speed<0)
echo -50;
以上的输出结果为:
150
50
一模一样的判断,使用switch会好看一点,但是当变量=0的时候就出现了问题,case (0>=100)居然判断为真。求大神讲解下这是为毛?
if ($speed >= 0)
echo 'true';
肯定返回true啊,大于等于0,是什么意思?大于跟等于,都可以为真。
case if 的条件,都是一样的。这没有错误。楼主再琢磨琢磨……同理,<=0,也是一个道理追问
你复制我写的代码运行一下就知道了,用switch判断 当变量=0时是出错的。if没有问题,我在问题里已经说的很清楚了。不明白的是为什么switch判断不行。
追答case ($speed<-100):
确定你的代码是这样的?<-是个什么鬼?
switch(true)
case ($speed>=100):
echo 150;
break;
case ($speed>=0):
echo 50;
break;
case ($speed<-100):
echo -150;
break;
case ($speed<0):
echo -50;
break;
default:
echo 123123123;
echo '<br/>';
if($speed>=100)
echo 150;
else if($speed>=0)
echo 50;
else if($speed<-100)
echo -150;
else if($speed<0)
echo -50;
java switch语句中如何判断数值范围
不能判断。switch必须是明确的一个值,比如一个数字或者一个字符串。 参考技术A 同意楼上的。。判断数值范围用其它的。while if等。 参考技术B 判断数值范围用其它的。while if等。以上是关于PHP中switch对于0的判断不准?的主要内容,如果未能解决你的问题,请参考以下文章
php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。
php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。