PHP 数组运算符用于比较数组:
运算符 | 名称 | 例子 | 结果 |
---|---|---|---|
+ | 联合 | $x + $y | $x 和 $y 的联合(但不覆盖重复的键) |
== | 相等 | $x == $y | 如果 $x 和 $y 拥有相同的键/值对,则返回 true。 |
=== | 全等 | $x === $y | 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。 |
!= | 不相等 | $x != $y | 如果 $x 不等于 $y,则返回 true。 |
<> | 不相等 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 |
!== | 不全等 | $x !== $y | 如果 $x 与 $y 完全不同,则返回 true。 |
下例展示了使用不同数组运算符的不同结果:
- <?php
- $x = array("a" => "red", "b" => "green");
- $y = array("c" => "blue", "d" => "yellow");
- $z = $x + $y; // $x 与 $y 的联合
- var_dump($z);
- var_dump($x == $y);
- var_dump($x === $y);
- var_dump($x != $y);
- var_dump($x <> $y);
- var_dump($x !== $y);
- ?>
扩展阅读:
例子 | 名称 | 结果 |
---|---|---|
$a + $b | 联合 | $a 和 $b 的联合。 |
$a == $b | 相等 | 如果 $a 和 $b 具有相同的键/值对则为 TRUE 。 |
$a === $b | 全等 | 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE 。 |
$a != $b | 不等 | 如果 $a 不等于 $b 则为 TRUE 。 |
$a <> $b | 不等 | 如果 $a 不等于 $b 则为 TRUE 。 |
$a !== $b | 不全等 | 如果 $a 不全等于 $b 则为 TRUE 。 |
+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
- <?php
- $a = array( "a" => "apple" , "b" => "banana" );
- $b = array( "a" => "pear" , "b" => "strawberry" , "c" => "cherry" );
- $c = $a + $b ; // Union of $a and $b
- echo "Union of /$a and /$b: /n" ;
- var_dump ( $c );
- $c = $b + $a ; // Union of $b and $a
- echo "Union of /$b and /$a: /n" ;
- var_dump ( $c );
- ?>
- Union of $a and $b:
- array(3) {
- ["a"]=>
- string(5) "apple"
- ["b"]=>
- string(6) "banana"
- ["c"]=>
- string(6) "cherry"
- }
- Union of $b and $a:
- array(3) {
- ["a"]=>
- string(4) "pear"
- ["b"]=>
- string(10) "strawberry"
- ["c"]=>
- string(6) "cherry"
- }
数组中的单元如果具有相同的键名和值则比较时相等。
Example #1 比较数组
- <?php
- $a = array( "apple" , "banana" );
- $b = array( 1 => "banana" , "0" => "apple" );
- var_dump ( $a == $b ); // bool(true)
- var_dump ( $a === $b ); // bool(false)
- ?>