Problem: How to merge two arrays while keeping keys instead of reindexing in PHP?
Solution: This can be achieved in two ways which are by using + operator and by using inbuilt functions.
Method 1: Using + operator.
Example :
<?php $array1 = array (
1 => 'Geeks' ,
2 => 'For' ,
3 => 'Geeks'
);
$array2 = array (
4 => 'A' ,
5 => 'Computer' ,
6 => 'Science' ,
7 => 'Portal' ,
8 => 'For' ,
9 => 'Geeks'
);
$merged_array = $array1 + $array2 ;
var_dump ( $merged_array );
?> |
Output:
array(9) { [1]=> string(5) "Geeks" [2]=> string(3) "For" [3]=> string(5) "Geeks" [4]=> string(1) "A" [5]=> string(8) "Computer" [6]=> string(7) "Science" [7]=> string(6) "Portal" [8]=> string(3) "For" [9]=> string(5) "Geeks" }
Method 2: Using inbuilt function array_replace() function.
Example :
<?php $array1 = array (
1 => 'Geeks' ,
2 => 'For' ,
3 => 'Geeks'
);
$array2 = array (
4 => 'A' ,
5 => 'Computer' ,
6 => 'Science' ,
7 => 'Portal' ,
8 => 'For' ,
9 => 'Geeks'
);
$merged_array = array_replace( $array1 , $array2 );
var_dump ( $merged_array );
?> |
Output:
array(9) { [1]=> string(5) "Geeks" [2]=> string(3) "For" [3]=> string(5) "Geeks" [4]=> string(1) "A" [5]=> string(8) "Computer" [6]=> string(7) "Science" [7]=> string(6) "Portal" [8]=> string(3) "For" [9]=> string(5) "Geeks" }
Reference :http://php.net/manual/en/function.array-replace.php