private static function arrayRecursiveMerge($array1, $array2) {

		if(false === is_array($array1) || false === is_array($array2)) { 
			return $array2; 
		}

		foreach($array2 as $key => $value) {
			$array1[$key] = static :: arrayRecursiveMerge(@$array1[$key], $value);
		}

		return $array1;
	}
private static function arrayRecursiveMerge($array1, $array2) {

		if(false === is_array($array1) || false === is_array($array2)) { 
			return $array2; 
		}

		foreach($array2 as $key => $value) {
			$array1[$key] = static :: arrayRecursiveMerge(@$array1[$key], $value);
		}

		return $array1;
	}
private static function arrayRecursiveMerge ( $ array1 , $ array2 ) { if ( false === is_array ( $ array1 ) || false === is_array ( $ array2 ) ) { return $ array2 ; } foreach ( $ array2 as $ key => $ value ) { $ array1 [ $ key ] = static :: arrayRecursiveMerge ( @ $ array1 [ $ key ] , $ value ) ; } return $ array1 ; }
Recursive merge arrays
@param array $array1
@param array $array2
@return array
Recursive merge arrays