[入坑小获] switch case 如何指定多个条件


 

今天一个同事遇到的线上问题,最终发现原因挺有意思的,发出来大家一起学习下:

 大家先看我下面的代码的输出结果:

各位老板,这个竟然是输出 22222 , 哈哈   跟预期的不一样,本来是想当 $aa 是 3 或者为null 的时候,都输出 22222, $aa 为 2 的时候输出 333;

 

谁知:我竟然得到输入 2 得到的是 22222

 

然后细想下就发现了,case 3 || null 的时候,实际上是 case  (3 || null) :  其实就是相当于 case true:    也就是说,只要 $aa 是个true 的表达式就可以了,即只要 $aa 不为0,那就一定是 true

 

所以有了下面的结果:

 

 

那么,我如何实现我最初的想法呢?

 

最简单了,每个条件加一个case:

 

 

 

好啦,就写这些,没有问题啦,各位看官点赞啦!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM