当前位置: 首页 > 面试题库 >

PHP == vs ===运算符

夹谷山
2023-03-14
问题内容

==和之间有什么区别===

  • 松散==比较到底如何工作?
  • 严格===比较到底如何工作?

有什么有用的例子吗?


问题答案:

如果==运算符不同,则它们在两种不同类型之间进行转换,而===运算符执行“类型安全比较”。这意味着只有两个操作数具有相同的类型和相同的值时,它才返回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)


 类似资料:
  • 问题内容: 有人可以解释PHP中的三元运算符速记()和空合并运算符()之间的区别吗? 它们什么时候表现不同,什么时候以相同的方式表现(如果甚至发生)? VS。 问题答案: 当您的第一个参数为null时,它们基本相同,不同之处在于,当您有未定义的变量时,null合并不会输出。在PHP7.0迁移的文档有这样一段话: 对于需要将三元数与isset()结合使用的常见情况,已将空合并运算符(??)添加为语法

  • 主要内容:PHP 算术运算符,实例,实例,PHP 赋值运算符,实例,实例,PHP 递增/递减运算符,实例,PHP 比较运算符,实例,PHP 逻辑运算符,PHP 数组运算符,实例,三元运算符,实例,实例,组合比较符(PHP7+),实例,运算符优先级,实例,实例本章节我们将讨论 PHP 中不同运算符的应用。 在 PHP 中,赋值运算符 = 用于给变量赋值。 在 PHP 中,算术运算符 + 用于把值加在一起。 PHP 算术运算符 运算符 名称 描述 实例 结果 x + y 加 x 和 y 的和 2 +

  • 问题内容: 我查看了RXJava的文档,发现concat和merge运算符似乎也做同样的事情。我写了几次测试来确定。 该文件说 合并运算符也类似。它结合了两个或多个可观察物的排放,但可以交错,而Concat绝不会交错多个可观察物的排放。 但是我还是不太了解,运行此测试数千次,合并结果始终是相同的。由于未授予该命令,因此我期望有时会出现“反应性”,“世界”,“你好”。 代码在这里https://gi

  • 问题内容: 我正在阅读有关ANY和ALL运算符的oracle文档。除了一件事,我非常了解它们的用途。它指出: 全部 : 如果子查询返回零行,则条件的计算结果为TRUE。 任何 : 如果子查询返回零行,则条件的计算结果为FALSE。 在我看来,这不是很合逻辑。为什么在一个空子查询上的ALL将返回TRUE,而ANY返回FALSE? 我是SQL的新手,所以我认为它会有一个用例来说明这种行为,这对我来说确

  • 问题内容: 我知道for的规则,但是是什么?请举例说明。 问题答案: 这些是按位与和按位或运算符。 感谢卡洛斯指出在Java语言规范中相应的部分(15.22.1,15.22.2关于基于其输入操作者的不同的行为)。 的确,当两个输入均为布尔值时,这些运算符被视为布尔逻辑运算符,并且其行为类似于和运算符,但它们不会短路,因此以下操作是安全的: 这不是: “短路”是指操作员不必检查所有条件。在上述示例中

  • 有人能解释一下PHP中三元运算符速记()和空合并运算符()之间的区别吗? 他们什么时候表现不同,什么时候表现相同(如果发生的话)? VS。