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