如果(0 =='%')回应"WTF,Php,为什么你不能比较清楚地比较事情?"

dre*_*ves 5 php debugging comparison

我只是将一个疯狂的错误减少到了这个问题的标题中.我确信有一个完全合理的解释,为什么Php认为0 =='%'(或任何其他特殊字符,我认为).我认为在StackOverflow上得到解释会很好!

Gor*_*kic 7

它将对任何字符串执行相同操作,将非数字字符串转换为整数始终为0.


dre*_*ves 6

使用'==='(对于精确的,文字比较 - 值必须是相同的类型并且也相等)而不是'=='解决了这个问题.使用'==',它会尝试将'%'转换为数字,而0则是最好的.