PHP中==和===的区别在哪?
来源:互联网 发布:遗传算法图像分割 编辑:程序博客网 时间:2024/06/05 07:21
话不多说,上代码
$a=0;$b="test";if($a==$b){ echo "true";}else{ echo "false";}if($a===$b){ echo "true";}else{ echo "false";}
上面两个判断分别返回true和false,或许很多人会说这不是很简单的判断吗?但是对于我来说却是个很神奇的结果。。。
那么为什么第一种判断会返回true呢?
问问度娘,解释如下:
1.==只是对值得比较(将两边值转化为同类型再比较),而===则是对值和类型的比较。
2.对于==的比较,若有一方为数字,另一方为字符串或空或null,均会先将非数字一方转化为0,再做比较。
接下来,我们再做个比较
$a=1;$b="test";if($a==$b){ echo "true";}else{ echo "false";}
此时结果为false
区分完php中==和===的区别,我又想,在javascript中会不会是一样的结果呢?
接下来我们再做个测试。以下是javascript代码:
var a=0;var b="test";if(a==b){ console.log("true");}else{ console.log("false");}var a=1;var b="test";if(a==b){ console.log("true");}else{ console.log("false");}
那么上面的结果返回什么呢?根据刚才对php的结果,我的判断是true和false,但是结果却出乎意料,两次结果都返回了false。
可见==比较符在javascript中和在php还是有点区别的,在javascript中数字和非数字的比较,非数字不会被转化为0,至于具体原因,还有待考究。希望哪位大神可以解答解答。
以上是本次内容。
阅读全文
0 0
- PHP中==和===的区别在哪?
- php中->和=>的区别
- PHP中 ->和=>的区别是什么
- php中“=>”和 “->” 区别
- php中!=和!== 区别
- php中的<?= ?>和<?php ?>的区别
- PHP中==和===的区别
- php中==和===的区别
- PHP中==和===的区别
- php中->和=>操作符的区别
- PHP的"::"、"->"和"=>"的区别
- @在String中==和equals的区别
- 在java中“equals”和“==”的区别
- 在python 中is和= = 的区别
- 在python 中is和= = 的区别
- 在Java中"=="和"equal"的区别
- 在java中==和equals之间的区别
- PHP中全等(===)和相等(==)的区别
- 2.4 linux存储管理-越界访问
- hive简介
- bzoj2565manacher算法
- Flutter学习之旅(三)----Flutter常见问题FAQ,看完之后不再是Flutter小白
- CGI --fastCGI
- PHP中==和===的区别在哪?
- Struts2 struts2基本流程与配置
- CC2640R2F开发环境搭建
- (4)bootstrap标签页
- 2.5 linux存储管理-用户堆栈扩展
- http响应状态码大全
- LeetCode 560 : Subarray Sum Equals K(java)
- filter与ifilter
- Kubernetes核心原理(一)之API Server