奇怪的是,以下代码返回true!
if ('1'==1 && '014'==016)
echo 1;
和输出是
1
谁能告诉我为什么“ 014”等于016?以及如何解决这个问题?如果有可能,请避免进行显式转换,因为数据类型始终都在变化。
我正在使用PHP版本5.3.8-ZS5.5.0
在PHP中,使用带前导零的整数值会使PHP假定它是一个八进制数。八进制016等于十进制14。
在与另一个整数进行比较时,使用诸如这样的字符串'014'
会隐式转换为小数14
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句