Index: trunk/core/kernel/globals.php =================================================================== diff -u -N -r1817 -r1888 --- trunk/core/kernel/globals.php (.../globals.php) (revision 1817) +++ trunk/core/kernel/globals.php (.../globals.php) (revision 1888) @@ -1,25 +1,27 @@ $sValue2) + /** + * array_merge_recursive2() + * + * Similar to array_merge_recursive but keyed-valued are always overwritten. + * Priority goes to the 2nd array. + * + * @static yes + * @param $paArray1 array + * @param $paArray2 array + * @return array + * @access public + */ + function array_merge_recursive2($paArray1, $paArray2) { - $paArray1[$sKey2] = array_merge_recursive2( getArrayValue($paArray1,$sKey2), $sValue2); + if (!is_array($paArray1) or !is_array($paArray2)) { return $paArray2; } + foreach ($paArray2 AS $sKey2 => $sValue2) + { + $paArray1[$sKey2] = array_merge_recursive2( getArrayValue($paArray1,$sKey2), $sValue2); + } + return $paArray1; } - return $paArray1; } /**