The main difference is that if the same key name appears in two or more arrays, the key name is divided into a string or a number. It should be noted that
1) When the key name is a number, array_merge() will not overwrite the original one. value, but + merging arrays will return the first appearing value as the final result, and "abandon" those values with the same key name in the subsequent arrays (not overwrite)
2) Key name character, + still returns the first appearing value as the final result, and "discards" those values with the same key name in the subsequent arrays, but array_merge() will overwrite the previous values with the same key name at this time
It should be noted that the array key form 'number' is equivalent to the number
Copy the code The code is as follows:
$a = array('a','b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a );
var_dump(array_merge($a, $b));
$a = array(0 => 'a', 1 => 'b');
$b = array(0 => 'c', 1 => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a , $b));
$a = array('a', 'b');
$b = array('0' => 'c', 1 => 'b ');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));
$a = array( 0 => 'a', 1 => 'b');
$b = array('0' => 'c', '1' => 'b');
$ c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));
result
Copy code The code is as follows:
array
0 => string 'a' (length=1)
1 => string ' b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 => string 'a' (length=1 )
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 = > string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length =1)
3 => string 'b' (length=1)
http://www.bkjia.com/PHPjc/322163.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/322163.htmlTechArticleThe main difference is that if the same key name appears in two or more arrays, the key name is divided into a string or a number , please note that 1) when the key name is a number, array_merge() will not overwrite the original value...