作为存放数据的一种数据结构,数组因其在查询元素时快速灵活的优点,使其在程序开发中,特别是涉及到数据读取时,会被频繁的用到。
实际项目开发中,除了对数组元素进行读取较为频繁外,有时也会对存放有不同元素的一个或多个数组整体进行操作。数组运算符的存在,使得这种操作简单了许多。由于不经常使用,这里记录下来,以加深印象。
数组运算符
例子
名称
结果
$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。
+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
需要特别注意的是联合运算符 +
数组的联合操作并不是想我们直观理解的那样,它是基于数组的键实现一个联合,而不是基于值,官网有一个很好的例子,很形象的说明了这一点。
$a = array('one','two');
$b=array('three','four','five');
//not a union of arrays' values
echo '$a + $b : ';
print_r ($a + $b);
//a union of arrays' values
echo "array_unique(array_merge($a,$b)):";
// cribbed from http://oreilly.com/catalog/progphp/chapter/ch05.html
print_r (array_unique(array_merge($a,$b)));
?>
//output
$a + $b : Array
(
[0] => one
[1] => two
[2] => five
)
array_unique(array_merge(Array,Array)):Array
(
[0] => one
[1] => two
[2] => three
[3] => four
[4] => five
)