PHP的var_dump(‘1‘==‘1e0‘)的结果为true
生活随笔
收集整理的這篇文章主要介紹了
PHP的var_dump(‘1‘==‘1e0‘)的结果为true
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?phpvar_dump('1'=='1e0');
//bool(true)
今天,同學問我一個問題,如下:var_dump("1" == "1e0"); 的結果是什么。
我的第一反應,答案是false。因為很明顯的要比較的是兩個字符串,而字符串比較時,只需比較其內容即可。很明顯, 兩個字符串的內容并不一樣,當然是false了。
然而,我又注意到要比較的字符串中存在一個純數字字符串“1”,那根據規則,當要比較的是兩個純數字字符串時要轉換成數值型來比較。這里只有一個。所以仍應該安字符串來比較,結果仍為false。
但實際運行代碼,結果確實true,我和我的小伙伴都震驚了!!怎么可能是true!!為什么會是true!!這跟說好的不一樣啊!!
經過我們仔細的研究,發現這竟然不是兩個普通字符串在比較,而是兩個純數值字符串!!因為“1e0”竟然是科學計數法的1!!
//e0表示10的0次方。所以1e0表示:1*10的0次方。
var_dump(1e0);?? ?//float(1)
var_dump(1e3);?? ?//float(1000)
所以當var_dump("1" == "1e0")時,結果才為true。
總結
以上是生活随笔為你收集整理的PHP的var_dump(‘1‘==‘1e0‘)的结果为true的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 充电桩行业的上市公司 电动汽车催生出的热
- 下一篇: 蔚蓝生物是做什么的