PHP – 数组运算符



PHP 定义了以下一组符号,用作数组数据类型的运算符 -

符号 示例 名字 结果
+ $a + $b Union $a 和 $b 的联合。
== $a == $b Equality 如果 $a 和 $b具有相同的键/值对,则为 TRUE。
=== $a === $b Identity 如果 $a 和 $b 具有相同的键/值对、相同的顺序和相同的类型,则为 TRUE。
!= $a != $b Inequality 如果 $a 不等于 $b,则为 TRUE。
<> $a <> $b Inequality 如果 $a 不等于 $b,则为 TRUE。
!== $a !== $b Non identity 如果 $a 与 $b 不相同,则为 TRUE。

Union 运算符将右侧数组追加到左侧数组。如果两个数组中都存在键,则将使用左侧数组中的元素,而忽略右侧数组中的匹配元素。

示例:PHP 的 Union 运算符

以下示例显示了如何在 PHP 中使用 union 运算符 -


<?php
   $arr1=array("phy"=>70, "che"=>80, "math"=>90);
   $arr2=array("Eng"=>70, "Bio"=>80,"CompSci"=>90);
   $arr3=$arr1+$arr2;
   var_dump($arr3);
?>

它将产生以下输出 -

array(6) {
   ["phy"]=>
   int(70)
   ["che"]=>
   int(80)
   ["math"]=>
   int(90)
   ["Eng"]=>
   int(70)
   ["Bio"]=>
   int(80)
   ["CompSci"]=>
   int(90)
}

示例:当两个数组相等时

如果两个数组具有相同的键值对,则称它们相等。

在下面的示例中,我们有一个索引数组和其他关联数组,其键对应于第一个元素的索引。因此,两者是相等的。


<?php
   $arr1=array(0=>70, 2=>80, 1=>90);
   $arr2=array(70,90,80);
   var_dump ($arr1==$arr2);
   var_dump ($arr2!=$arr1);
?>

它将产生以下输出 -

bool(true)
bool(false)

示例:当两个数组相同时

当且仅当数组具有相同的键值对集且顺序相同时,数组才是相同的。


<?php
   $arr1=array(0=>70, 1=>80, 2=>90);
   $arr2=array(70,90,80);
   var_dump ($arr1===$arr2);
   $arr3=[70,80,90];
   var_dump ($arr3===$arr1);
?>

它将产生以下输出 -

bool(false)
bool(true)