脚本宝典收集整理的这篇文章主要介绍了php字符串比较意外类型杂耍,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
var_dump("10" == "10.0000"); VAR_dump("10" == "+10."); var_dump("10" == "10 "); #output bool(true) bool(true) bool(false)
更新
因此,baba在@L_512_8@以下的回答确实帮助我了解了正在发生的事情.函数is_numeric将返回给您,无论字符串是否被视为数字字符串.有趣的是,“10”不是数字字符串,而是“10”.我挖掘了PHP源代码,我相信implementation of is_numeric在is_numeric_string_ex函数中.从那一点可以确切地知道PHP何时将字符串视为数字字符串.
var_dump("10" == " 10"); // true
所以,如果你跑
var_dump("10" == "10 "); //false
你实际运行的是因为它将被视为一个字符串
var_dump("10" == 0); //false
这是因为TyPE juggling会将“10”转换为0,这是在PHP Documentation中
如果你想欺骗类型杂耍
var_dump("10" == 0 + "10 "); // true
以上是脚本宝典为你收集整理的php字符串比较意外类型杂耍全部内容,希望文章能够帮你解决php字符串比较意外类型杂耍所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。