note 93656 deleted from function.array-merge-recursive by danbrown
| From: | danbrown@php.net | Date: | Mon, 21 Sep 2009 20:46:28 +0000 |
| Subject: | note 93656 deleted from function.array-merge-recursive by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-160904@lists.php.net to get a copy of this message | ||
Note Submitter: halityesil at globya dot net
----
<?php
function my_array_merge_recursive($arr1, $arr2){
if(!is_array($arr2)){
return $arr1;
}
foreach ($arr2 as $k => $v) {
if(isset($arr1[$k])){
$arr1[$k] = my_array_merge_recursive($arr1[$k], $v);
}else{
$arr1[$k] = $v;
}
}
return $arr1;
}
?>
Example:
<?php
// Array 1
$array1 = array(
'var1' => 'value1',
'var2' => 'value2',
'var3' => array(
'var3_1' => 'value3_1',
'var3_2' => array('value3_2_1','value3_2_2')
),
'var4' => 'value4'
);
// Array 2
$array2 = array(
'var1' => 'value1_a',
'var3' => array(
'var3_1' => 'value3_1_a',
'var3_2' => 'value3_2_a',
'var3_3' => array('value3_3_1','value3_3_2')
),
'var5' => 'value5'
);
print_r(my_array_merge_recursive($array1, $array2));
?>
Output:
Array(
var1 => value1_a,
var2 => value2,
var3 => Array(
var3_1 => value3_1_a,
var3_2 => value3_2_a,
var3_3 => Array(
0 => value3_3_1,
1 => value3_3_2
)
),
var4 => value4,
var5 => value5
)