Home  >  Article  >  Backend Development  >  What is the difference between + operator and array_merge() in PHP array merging?

What is the difference between + operator and array_merge() in PHP array merging?

青灯夜游
青灯夜游Original
2019-04-03 14:06:032678browse

In PHP, you can merge arrays by using the ( ) operator or the array_merge() function; however, there are subtle differences between the two methods. The following article will help you understand the differences between these two methods. I hope it will be helpful to you.

What is the difference between + operator and array_merge() in PHP array merging?

Use the array_merge() function to merge arrays

The array_merge() function is a built-in Function that can be used to concatenate one or more arrays provided as input, regardless of their type; and returns a new array. During this merge process, the values ​​of the arrays are appended to the end of the previous array to produce the resulting array.

Syntax:

array_merge( $arr1, $arr2, $arr3... )

Parameters: The array_merge() function accepts one or more input arrays and merges them into a single result array.

Note: In the array_merge() function, if the input array has the same string key, the subsequent value of the key will overwrite the previous value in the result array. However, if the array contains numeric keys, the values ​​will not be replaced, they will only be appended to the resulting array. Likewise, in the case of numeric arrays, the key values ​​in the resulting array will be renumbered starting from zero.

Use the operator to merge arrays

Another way to merge two arrays is by using the "array array" method. The operator is a binary operator, meaning it can only merge two arrays at a time; during this merge, the right-hand array is appended to the end of the left-hand array.

Syntax

$arr3 = $arr1 + $arr2

Parameters: ( ) operator processes two arrays at a time and generates the result array.

Note: If you use the () operator to merge arrays, if there are the same keys in the two arrays (whether it is a string key or a numeric key), the result array will only be retained The value in the array on the left that corresponds to the key, the value in the array on the right is ignored.

The difference between operator and array_merge()

Let’s take a look at the difference between operator and array_merge() through code examples difference.

Example 1: Merge arrays using array_merge()

<?php 
header("content-type:text/html;charset=utf-8");
$arr1 = array( &#39;zero&#39; => 0, 
               &#39;one&#39; => 1, 
               &#39;two&#39; => 2, 10, 11, 12, 13 
        ); 
          
$arr2 = array( &#39;one&#39; => 11, 
               &#39;three&#39; => 3, 
               &#39;four&#39; => 4, 12, 13, 14, 15 
        ); 
  
$arr3 = array_merge($arr1, $arr2); 
      
echo "使用array_merge()合并数组的结果:<br>"; 
var_dump($arr3);  
?>

Output:

使用array_merge()合并数组的结果:
array (size=13)
  &#39;zero&#39; => int 0
  &#39;one&#39; => int 11
  &#39;two&#39; => int 2
  0 => int 10
  1 => int 11
  2 => int 12
  3 => int 13
  &#39;three&#39; => int 3
  &#39;four&#39; => int 4
  4 => int 12
  5 => int 13
  6 => int 14
  7 => int 15

Example 2: Merge arrays using the () operator

<?php 
header("content-type:text/html;charset=utf-8");
$arr1 = array( &#39;zero&#39; => 0, 
               &#39;one&#39; => 1, 
               &#39;two&#39; => 2, 10, 11, 12, 13 
        ); 
          
$arr2 = array( &#39;one&#39; => 11, 
               &#39;three&#39; => 3, 
               &#39;four&#39; => 4, 12, 13, 14, 15 
        );      
$arr4 = $arr1 + $arr2; 
      
echo "<br>使用(+)运算符合并数组的结果:<br>"; 
var_dump($arr4); 
?>

Output:

使用(+)运算符合并数组的结果:
array (size=9)
  &#39;zero&#39; => int 0
  &#39;one&#39; => int 1
  &#39;two&#39; => int 2
  0 => int 10
  1 => int 11
  2 => int 12
  3 => int 13
  &#39;three&#39; => int 3
  &#39;four&#39; => int 4

Related video tutorial recommendation: "PHP Tutorial"

The above is the entire content of this article, I hope it can be helpful to everyone's learning helped. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !

The above is the detailed content of What is the difference between + operator and array_merge() in PHP array merging?. 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