为什么数组=== array在PHP中等于true?

时间:2012-12-07 05:26:05

标签: php

在php ===中是相同的比较运算符,即检查两个变量是否具有相同的值并且属于同一类型。但为什么array("asdf") === array("asdf")返回true?我想这两个都创建了具有相同内容的新数组(如果我错了,请纠正我)。

3 个答案:

答案 0 :(得分:4)

简单回答:array("asdf") === array("asdf")返回true,因为要比较的两个数组是:

  1. 具有相同的键/值对,
  2. 每种相同类型,
  3. 以完全相同的顺序。
  4. 这就是array() === array()的含义。

    好读

    Array Operators

答案 1 :(得分:2)

等值$a == $b如果在类型杂耍后$a等于$b,则为TRUE。

  

2 ==“2”

如果$a === $b等于$a,则$b为真,且它们的类型相同。

  

array(“asdf”)=== array(“asdf”)

如果在类型杂耍之后$a != $b不等于$a,则不等于$b为真。

  

2!=“3”

如果在类型杂耍之后$a <> $b不等于$a,则不等于$b为真。

  

2&lt;&gt; “3”

不相同$a !== $b如果$a不等于$b,或者它们的类型不同,则为真。

  

array(“asdf”)!==“asdf”

如果$a < $b严格小于$a,则小于$b为真。

  

99&lt; 100

如果$a > $b严格大于$a,则

大于$b TRUE。

  

100&gt; 99

如果$a <= $b小于或等于$a,则小于或等于$b为真。

  

0.32 <= 0.54

如果$a >= $b大于或等于$a,则大于或等于$b TRUE。

  

2&gt; = 2

阅读这篇关于PHP中比较运算符的manual

答案 2 :(得分:1)

这是你的答案

  

$ a === $ b如果$ a和$ b具有相同的键/值对,则身份为TRUE   以相同的顺序和相同的类型。

Php Manual-Operators