今天一個同事遇到的線上問題,最終發現原因挺有意思的,發出來大家一起學習下:
大家先看我下面的代碼的輸出結果:
各位老板,這個竟然是輸出 22222 , 哈哈 跟預期的不一樣,本來是想當 $aa 是 3 或者為null 的時候,都輸出 22222, $aa 為 2 的時候輸出 333;
誰知:我竟然得到輸入 2 得到的是 22222
然后細想下就發現了,case 3 || null 的時候,實際上是 case (3 || null) : 其實就是相當於 case true: 也就是說,只要 $aa 是個true 的表達式就可以了,即只要 $aa 不為0,那就一定是 true
所以有了下面的結果:
那么,我如何實現我最初的想法呢?
最簡單了,每個條件加一個case:
好啦,就寫這些,沒有問題啦,各位看官點贊啦!