Skip to content
Related Articles

Related Articles

PHP | Merging two or more arrays using array_merge()
  • Last Updated : 18 Apr, 2019

The array_merge() is a builtin function in PHP and is used to merge two or more arrays into a single array. This function is used to merge the elements or values of two or more arrays together into a single array. The merging occurs in such a manner that the values of one array are appended at the end of the previous array. The function takes the list of arrays separated by commas as a parameter that are needed to be merged and returns a new array with merged values of arrays passed in parameter.

Syntax:

array array_merge($array1, $array2, ......, $arrayn)

Parameters: The array_merge() function takes a list of arrays separated by commas as a parameter that are needed to be merged as shown in the syntax. There are n arrays (($array1, $array2, ……, $arrayn) separated by (‘,’) in the syntax. We can pass any number of arrays in parameter.

Return Value: It returns a new array in which the elements of all arrays passed in parameters are merged such that the values of one array are appended at the end of the previous array.

Below programs illustrates the working of array_merge() function in PHP:



  • Merging Two Simple Arrays: When two more arrays are passed to the array_merge() function then the values of one array are appended at the end of the previous array. If two elements have the same string keys then the latter value will be overridden. The integer keys will be renumbered starting from zero. To merge two arrays, the array_merge() function can be executed in the following way:




    <?php
      
    $my_array1 = array("size" => "big", 2,3 );
    $my_array2 = array("a", "b", "size" => "medium",
                            "shape" => "circle", 4);
    $res = array_merge($my_array1, $my_array2);
      
    print_r($res);
      
    ?>

    Output:

    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    

    Note: If the input arrays contain the same string keys, then the later value for that key will overwrite the previous one.

  • Passing parameter with integer keys: If parameters are passed to the array_merge() function and the keys of this array parameter are an integer then the keys in the output array will be renumbered starting from 0 and incrementing for next elements by 1.

    Below programs illustrates this:




    <?php
      
    $my_array = array(1 => "Geeks", 3=>"for", 2=>"Geeks");
      
    $res = array_merge($my_array);
    print_r($res);
      
    ?>

    Output:

    Array
    (
        [0] => Geeks
        [1] => for
        [2] => Geeks     
    )




    <?php
      
    $my_array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
    $my_array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
    $res = array_merge($my_array1,$my_array2);
    print_r($res);
      
    ?>

    Output:

    Array
    (
        [0] => zero_a
        [1] => two_a
        [2] => three_a
        [3] => one_b
        [4] => three_b
        [5] => four_b
    )
    
My Personal Notes arrow_drop_up
Recommended Articles
Page :