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

PHP相等(=双等于)和恒等(=三倍等于)比较运算符有何不同?

PHP相等(=双等于)和恒等(=三倍等于)比较运算符有何不同?

PHP
翻翻过去那场雪 2019-11-06 05:05:33
PHP相等(=双等于)和恒等(=三倍等于)比较运算符有何不同?.之间的区别是什么?==和===?松散的==比较工作?严格到什么程度===比较工作?什么是有用的例子?
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

如果两种不同类型的类型不同,则操作符=在它们之间进行转换,而=运算符则执行“类型比较”。这意味着只有当两个操作数具有相同的类型和相同的值时,它才会返回true。


例子:


1 === 1: true

1 == 1: true

1 === "1": false // 1 is an integer, "1" is a string

1 == "1": true // "1" gets casted to an integer, which is 1

"foo" === "foo": true // both operands are strings and have the same value

警告:具有等效成员的同一个类的两个实例不匹配===接线员。例子:


$a = new stdClass();

$a->foo = "bar";

$b = clone $a;

var_dump($a === $b); // bool(false)



查看完整回答
反对 回复 2019-11-07
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

关于JavaScript:

=操作符的工作方式与=操作符相同,但它要求其操作数不仅具有相同的值,而且具有相同的数据类型。

例如,下面的示例将显示‘x和y相等’,但不显示‘x和y是相同的’。

var x = 4;var y = '4';if (x == y) {
    alert('x and y are equal');}if (x === y) {
    alert('x and y are identical');}



查看完整回答
反对 回复 2019-11-07
  • 3 回答
  • 0 关注
  • 328 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信