array_merge_replace.php

Go to the documentation of this file.
00001 <?php
00018 function array_merge_replace( $array, $newValues ) {
00019    foreach ( $newValues as $key => $value ) {
00020        if ( is_array( $value ) ) {
00021                if ( !isset( $array[ $key ] ) ) {
00022                $array[ $key ] = array();
00023            }
00024            $array[ $key ] = array_merge_replace( $array[ $key ], $value );
00025        } else {
00026            if ( isset( $array[ $key ] ) && is_array( $array[ $key ] ) ) {
00027                $array[ $key ][ 0 ] = $value;
00028            } else {
00029                if ( isset( $array ) && !is_array( $array ) ) {
00030                    $temp = $array;
00031                    $array = array();
00032                    $array[0] = $temp;
00033                }
00034                if( is_object( $value ) ) {
00035                    $array[ $key ] =& $newValues[ $key ];
00036                } else {
00037                    $array[ $key ] = $value;
00038                }
00039            }
00040        }
00041    }
00042    return $array;
00043 }
00044 ?>
00045 

Generated on Wed Oct 25 03:13:32 2006 for LFSWorldParsingProviderFramework by  doxygen 1.4.6