为了账号安全,请及时绑定邮箱和手机立即绑定

谁知道 == 和 !==有啥区别啊?

$a = 1;

$b = "1";

$a == $b;

$a !== $b;

这两个使用上有什么不一样吗?可以举个例子吗= =。


正在回答

6 回答

$a = 1, //给变量a赋值为1
$b = "1", //给变量b赋值为字符串1
$a == $b, //这里是判断两个变量的值是否一样 因为1=1所以一样 返回ture
$a !== $b //这里是判断两个变量的值且类型是否一致, 因为1=1,但是一个是string类型一个int类型 所以返回false

//== 与 != 是一组 判断值
//=== 与 !==是一组 判断类型


1 回复 有任何疑惑可以回复我~
#1

小明下课别跑

这里 $a !== $b 应该返回ture 抱歉
2017-06-29 回复 有任何疑惑可以回复我~
#2

zxscdn 提问者 回复 小明下课别跑

所以!==任何时候都是ture?
2017-06-29 回复 有任何疑惑可以回复我~
#3

qq_業業 回复 zxscdn 提问者

看数据类型的 !== 先判断类型 类型都不一样了 肯定不一样 除非 是 1和1比较 不是1和“1”比较 这样!==返回就是false 因为1和1是一样的
2017-06-29 回复 有任何疑惑可以回复我~
#4

zxscdn 提问者 回复 qq_業業

谢谢,我理解错了!==是“非”全等不是“不”全等,两边都相等为false
2017-06-29 回复 有任何疑惑可以回复我~
查看1条回复

!==是指类型或者值至少有一个相等,==只是指值相等,===是指类型和值都相等。

0 回复 有任何疑惑可以回复我~

普通标量有:类型和值 2个部分,所以,两个部分都要判断

0 回复 有任何疑惑可以回复我~
$a = 1;//$a的值是1,类型是:整型
$b = '1';//$b的值是1,类型是:字符串
$a == $b;// ==符号只判断$a和$b的值是否一样,结果返回true
$a !== $b; // !==符号不仅会判断$a和$b的值是否一样,还会判断它们的类型是否一样,结果返回true。因为它们类型不一样


0 回复 有任何疑惑可以回复我~
#1

慕田峪9304305

$a !==$b;//他们的类型不相同应该返还false啊,
2017-07-02 回复 有任何疑惑可以回复我~
#2

有为小青年丶

你用var_dump打印下这个表达式
2017-07-02 回复 有任何疑惑可以回复我~

抱歉这个问题表达错了,下面那个才是问题。。。。

0 回复 有任何疑惑可以回复我~

!==什么时候才能为false啊?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP入门篇
  • 参与学习       455994    人
  • 解答问题       6306    个

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

进入课程

谁知道 == 和 !==有啥区别啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信