Two methods and differences of array merging in PHP are introduced

  • 2020-05-24 05:15:41
  • OfStack

PHP array merge two methods and differences
If it's an associative array, here's what it looks like:
 
$a = array( 
'where' => 'uid=1', 
'order' => 'uid', 
); 
$b = array( 
'where' => 'uid=2', 
'order' => 'uid desc', 
); 


1. array_merge, if two arrays have the same key, the last one will override the first one
 
<?php 
$c = array_merge($a, $b); 
var_export($c);// The result is the same as the original $b The same  
$d = array_merge($b, $a); 
var_export($d);// The result is the same as the original $a The same  

2. "+" operator. If two arrays have the same key, the first one overrides the last one
 
<?php 
$c = $a + $b; 
var_export($c);// The result is the same as the original $a The same  
$d = $b + $a; 
var_export($d);// The result is the same as the original $b The same  


If it is a numerically indexed array, it is as follows:
 
$a = array( 
1 => '1111111', 
2 => '222222222' 
); 
$b = array( 
4 => '33333333333', 
1 => '444444444' 
); 

1. array_merge. The effect is similar to the code foreach for each array element, and then pushes each element into a new stack
 
<?php 
$c = array_merge($a, $b); 
var_export($c); 
$d = array_merge($b, $a); 
var_export($d); 

Output:
array (
0 = > '1111111',
1 = > '222222222',
2 = > '33333333333',
3 = > '444444444',
)
array (
0 = > '33333333333',
1 = > '444444444',
2 = > '1111111',
3 = > '222222222',
)
2. "+" operator. The effect is similar to the code foreach for each array element, and then each element is pushed into a new stack. If the same key already exists, it is not processed
 
<?php 
$c = $a + $b; 
var_export($c); 
$d = $b + $a; 
var_export($d); 

Output:
array (
1 = > '1111111',
2 = > '222222222',
4 = > '33333333333',
)
array (
4 = > '33333333333',
1 = > '444444444',
2 = > '222222222',
)

Related articles: