The + operator appends elements of remaining keys from the right handed array to the left handed, whereas duplicated keys are NOT overwritten.
<?php$a = array("a" => "apple", "b" => "banana");$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");$c = $a + $b; // Union of $a and $becho "Union of \$a and \$b: \n";var_dump($c);$c = $b + $a; // Union of $b and $aecho "Union of \$b and \$a: \n";var_dump($c);?>
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" }
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.