PHP容易被忽略而出错陷阱-数字与字符串比较
2011-11-08 21:01
441 查看
0 与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==), 均返回 true.
原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true.
更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较运算符 可以找到.
原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true.
更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较运算符 可以找到.
相关文章推荐
- PHP容易被忽略而出错陷阱 数字与字符串比较
- PHP容易出错之二:PHP中的数字与字符串比较
- PHP容易出错点:PHP中的数字与字符串比较
- php陷阱:字符串和数字比较
- 浅谈PHP数字字符串比较
- 18.PHP数字与字符串比较的误区
- php使用strpos判断字符串中数字类型子字符串出错的解决方法[原创]_php技巧_脚本之家
- php两个长数字或字符串的比较大小
- php 字符串和数字比较一些问题
- PHP两个字符串比较(人为出错),两字符串类型和数据表面相等,但strcmp()结果不为0
- php用比较运算符把数字作为字符串比较时
- Android开发中字符串比较,新手容易出错
- php使用explode分割字符串新手容易忽略的问题
- PHP 浅谈 == 和=== 中,数字和字符串比较的问题。
- php使用explode分割字符串新手容易忽略的问题
- PHP中的数字与字符串比较
- Android开发中字符串比较,新手容易出错
- php字符串比较(忽略大小写)
- php 如何判断一个字符串全部都是数字