w3resource

PHP Array Exercises : Merge two arrays

PHP Array: Exercise-11 with Solution

Write a PHP program to merge (by index) the following two arrays.

Sample arrays :
$array1 = array(array(77, 87), array(23, 45));
$array2 = array("w3resource", "com");

Sample Solution:

PHP Code:

<?php
$array1 = array(array(77, 87), array(23, 45));
$array2 = array("w3resource", "com");
function merge_arrays_by_index($x, $y)
{
$temp = array(); $temp[] = $x; if(is_scalar($y))
{
$temp[] = $y;
}
else
{
foreach($y as $k => $v)
{
$temp[] = $v;
}
}
return $temp;
}
echo '<pre>'; print_r(array_map('merge_arrays_by_index',$array2, $array1));
?>

Sample Output:

<pre>Array                                                  
(                                                           
    [0] => Array                                            
        (                                                   
            [0] => w3resource                               
            [1] => 77                                       
            [2] => 87                                       
        )                                                   
                                                            
    [1] => Array                                            
        (                                                   
            [0] => com                                      
            [1] => 23                                       
            [2] => 45                                       
        )                                                   
                                                            
)           

Flowchart:

Flowchart: Merge two arrays

PHP Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a PHP program to sort an array of positive integers using the Bead-Sort Algorithm.
Next: Write a PHP function to change the specified array's all values to upper or lower case.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

PHP: Tips of the Day

PHP: PHP function overloading

You cannot overload PHP functions. Function signatures are based only on their names and do not include argument lists, so you cannot have two functions with the same name. Class method overloading is different in PHP than in many other languages. PHP uses the same word but it describes a different pattern.

You can, however, declare a variadic function that takes in a variable number of arguments. You would use func_num_args() and func_get_arg() to get the arguments passed, and use them normally.

For example:

function myFunc() {
    for ($i = 0; $i < func_num_args(); $i++) {
        printf("Argument %d: %s\n", $i, func_get_arg($i));
    }
}

/*
Argument 0: a
Argument 1: 2
Argument 2: 3.5
*/
myFunc('a', 2, 3.5);

Ref : https://bit.ly/2WnjWAt