php数组运算符
作为存放数据的一种数据结构,数组因其在查询元素时快速灵活的优点,使其在程序开发中,特别是涉及到数据读取时,会被频繁的用到。
实际项目开发中,除了对数组元素进行读取较为频繁外,有时也会对存放有不同元素的一个或多个数组整体进行操作。数组运算符的存在,使得这种操作简单了许多。由于不经常使用,这里记录下来,以加深印象。
数组运算符
例子 | 名称 |
结果 |
$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('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 )