# Array Operators

Example | Name | Result |
---|---|---|

$a + $b | Union |
Union of and $a.$b |

$a == $b | Equality |
`TRUE` if and $a have the same key/value pairs.$b |

$a === $b | Identity |
`TRUE` if and $a have the same key/value pairs in the same order and of the same $btypes. |

$a != $b | Inequality |
`TRUE` if is not equal to $a.$b |

$a <> $b | Inequality |
`TRUE` if is not equal to $a.$b |

$a !== $b | Non-identity |
`TRUE` if is not identical to $a.$b |

The + operator returns the right-hand **array** appended to the left-hand **array**; for keys that exist in both **arrays**, the elements from the left-hand **array** will be used, and the matching elements from the right-hand **array** will be ignored.

```
<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b
echo "Union of \$a and \$b: \n";
var_dump($c);
$c = $b + $a; // Union of $b and $a
echo "Union of \$b and \$a: \n";
var_dump($c);
$a += $b; // Union of $a += $b is $a and $b
echo "Union of \$a += \$b: \n";
var_dump($a);
?>
```

When executed, this script will print the following:

```
Union of $a and $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
Union of $b and $a:
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
Union of $a += $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
```

Elements of **arrays** are equal for the comparison if they have the same key and value.

Example #1 Comparing **arrays**

```
<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
```

See also the manual sections on the Array type and Array functions.