0=='aa'的结果为什么是true!!!
2015-12-15 15:00
447 查看
下面是一道测试题
答案是 yes
为什么会这样?一个int型的0 和一个字符串怎么可能会是0?
因为这里涉及到了知识点:php的类型转换规则
1.如果是一个数字与一个字符串进行比较,那么会把字符串转换为数字再比较
2.字符串的转换规则,若字符串以数字开头,则取开头数字作为转换按结果,若无,则取0
接下来,出一个问题:
答案是啥?对,没错,仍然是yes。为啥?
你猜想,可能是因为字符串被转换为了int型?
那么我们给强制转换一下试试呢?
没错,还是yes
问题出在哪儿?
if(0=='aa'){ echo "yes"; }else{ echo "no"; }
答案是 yes
为什么会这样?一个int型的0 和一个字符串怎么可能会是0?
因为这里涉及到了知识点:php的类型转换规则
1.如果是一个数字与一个字符串进行比较,那么会把字符串转换为数字再比较
2.字符串的转换规则,若字符串以数字开头,则取开头数字作为转换按结果,若无,则取0
接下来,出一个问题:
if("0"=="000"){ echo "yes"; }else{ echo "no"; }
答案是啥?对,没错,仍然是yes。为啥?
你猜想,可能是因为字符串被转换为了int型?
那么我们给强制转换一下试试呢?
if((string)"0"==(string)"000"){ echo "yes"; }else{ echo "no"; }
没错,还是yes
问题出在哪儿?
相关文章推荐
- Heartbeat V2版本基于ha-gui做高可用
- Step-by-Step Guide to Setting Up an R-Hadoop System
- A review of 3D/2D registration methods for image-guided interventions(1)
- Adnroid Stuido 得到签名文件的SHA1、MD5
- easyui表单多重验证,动态设置easyui控件
- 前台UI的总结
- requirejs入门
- Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning p
- easyui+ashx 动态初始化datagrid(动态列头)
- 开启blueZ之旅(1)-环境搭建
- 自定义UIAlertView
- UIScrollView控件详解
- String hql = "from SpQuestion as q where q.questionTitle like %?%";
- Arduino - Pro mini 烧录方法 ( FT232RL )
- 解决AndroidStudio添加ProjectLibary后在编译时遇到的各种问题之解决方式索引(finished with non-zero exit value and so on...)
- UIProgressView
- LeetCode 232:Implement Queue using Stacks
- 获取UGUI子节点在Canvas的屏幕坐标
- Bluetooth控件的使用
- 【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发