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运算符将右侧数组追加到左侧数组。; 如果两个数组中都存在键,则将使用左侧数组中的元素,而右侧数组中的匹配元素将被忽略。
下面的示例显示使用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)