Home > php教程 > PHP开发 > body text

Analysis of the difference between PHP merge array + and array_merge

高洛峰
Release: 2016-12-28 15:20:34
Original
1553 people have browsed it

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. Please note that

1) When the key name is a number, array_merge() will not overwrite it. Remove the original value, but + merge the array will return the first value as the final result, and "discard" those values ​​​​with the same key name in the subsequent arrays (not overwrite)

2) When the key name is a character, + still returns the first value as the final result, and "discards" those values ​​in the subsequent arrays with the same key name, but array_merge() will overwrite the previous values ​​with the same key name. Value

It should be noted that the array key form 'number' is equivalent to a number

$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));
Copy after login

Result

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)
Copy after login

More analysis of the difference between PHP merge array+ and array_merge For related articles, please pay attention to the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!