首页 > 其他 > 详细

采坑记录switch坑

时间:2020-01-19 13:33:03      阅读:59      评论:0      收藏:0      [点我收藏+]
$speed=0;
switch($speed){
  case ($speed>=100):
    echo 150;
    break;
  case ($speed>=0):
    echo 50;
    break;
}

  

speed 初始化为0后,你猜最终打印的结果是谁,最终打印的是150
因为switch条件的case判断时只会有两种结果,true   false
初始化speed为0
走到第一个case里面,speed  不大于等于100  返回false,   坑来了,,因为初始值为0, 0==false,所以他会直接打印150   而不是正常判断中打印50

注解: case: speed >=100  这里返回的是false   0与false是相等的,所以这里才会打印150

解决:根据需求考虑将初始化值设置为》0的
或者:将switch中设为true也可
 $speed=0;
            switch(true) {
                      case $speed>=50000:
                        echo 150;
                        break;
                    case $speed >=3000:
                        echo 100;
                        break;
                    case $speed >=0:
                        echo 800;
                        break;
                    }

采坑记录switch坑

原文:https://www.cnblogs.com/yszr/p/12213291.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!