note 93656 added to function.array-merge-recursive

From: Date: Mon, 21 Sep 2009 20:43:55 +0000
Subject: note 93656 added to function.array-merge-recursive
Groups: php.notes 
Request: Send a blank email to php-notes+get-160903@lists.php.net to get a copy of this message
<?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 ) ---- Server IP: 160.75.100.7 Probable Submitter: 188.58.173.107 ---- Manual Page -- http://www.php.net/manual/en/function.array-merge-recursive.php Edit -- https://master.php.net/note/edit/93656 Del: integrated -- https://master.php.net/note/delete/93656/integrated Del: useless -- https://master.php.net/note/delete/93656/useless Del: bad code -- https://master.php.net/note/delete/93656/bad+code Del: spam -- https://master.php.net/note/delete/93656/spam Del: non-english -- https://master.php.net/note/delete/93656/non-english Del: in docs -- https://master.php.net/note/delete/93656/in+docs Del: other reasons-- https://master.php.net/note/delete/93656 Reject -- https://master.php.net/note/reject/93656 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#160903) next »