PHP数组运算符

介绍

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

符号名称结果
+$a + $bUnion$a和$b的并集。
==$a == $bEquality如果$a和$b具有相同的键/值对,则为TRUE。
===$a === $bIdentity如果$a和$b具有相同顺序和相同类型的相同键/值对,则为TRUE。
!=$a!= $bInequality如果$a不等于$b,则为TRUE。
<>$a <> $bInequality如果$a不等于$b,则为TRUE。
!==$a!== $bNon-identity如果$a与$b不同,则为TRUE。

数组联合

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

下面的示例显示使用define()函数定义常量

示例

<?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)