Home  >  Article  >  Backend Development  >  Introduction to several methods to implement array merging in PHP

Introduction to several methods to implement array merging in PHP

黄舟
黄舟Original
2017-11-14 15:11:242965browse

When it comes to array merging, we will subconsciously think of the array_merge() function, but in our work, an array_merge() function is completely insufficient, so what other methods are there? Can array merging be achieved? Today I will show you in detail how to merge php arrays!

We will introduce it to you through an example:

$a = array('color'=>'red',5,6); 
$b = array('color'=>'blue','type'=>'fruit',6,7); 
$arr = array_merge($a,$b); 
var_dump($arr);

array (size=6)  'color' => string 'blue' (length=4)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  2 => int 6
  3 => int 7

The requirement is to get the same effect without using array_merge();
(array_merge() merges arrays The key values ​​of the associated form array in the previous array will be overwritten with the same key values, and the index form will be merged together in the order of key values)

1. First use the array_merge_recursive() function Let’s merge it:

$a = array('color'=>'red',5,6);
$b = array('color'=>'blue','type'=>'fruit',6,7);
$arr = array_merge_recursive($a,$b);
var_dump($arr);

输出结果:array (size=6)  
'color' => 
    array (size=2)      
    0 => string 'red' (length=3)      
    1 => string 'blue' (length=4)  
    0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  
  2 => int 6
  3 => int 7

It can be seen from the results that the array_merge_recursive() function will return values ​​with the same key value in the form of a new associative array, and use this key value as 二The key value of the dimensional array , other index forms will not be affected.
Compared with array_merge(), there will be no situation where the subsequent array key is the same as the previous one and the previous value will be overwritten.

2. Let’s look at the situation of merging arrays with the ‘+’ sign:

$a = array('color'=>'red',5,6);$b = array('color'=>'blue','type'=>'fruit',6,7);$arr = $a+$b;
var_dump($arr);

输出结果:
array (size=4)  'color' => string 'red' (length=3)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)

It can be seen from this result that using the ‘+’ sign to merge arrays is the previous Overwriting the latter is the opposite of array_merge(), and it is more ruthless than array_merge(). If the contents of the array appear in index form, if the key values ​​are the same after merging, they will also be overwritten!

Summary:

After reading this article, I believe many students will suddenly realize that there is not just one kind of number combination, and friends can choose it according to their own Choose the appropriate php array merging method for practical projects!

Related recommendations:

Example of php array combination and deduplication


php array merge array_merge() function usage notes


Two methods of php array merge

The above is the detailed content of Introduction to several methods to implement array merging in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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