E' tutta la mattina che mi sto facendo fumare il cervello per trovare una soluzione....


Mettiamo che ho un array che è così composto
codice:
Array
(
    [global] => Array
        (
            [prova1] => Array
                (
                    [prova2] => Array
                        (
                            [x] => asds
                            [c] => afgh
                            [v] => avcbn
                            [b] => werts
                            [n] => fgsfgfs
                        )

                )

            [prova] => Array
                (
                    [prova2] => Array
                        (
                            [x] => asds
                            [c] => afgh
                        )

                    [c] => Array
                        (
                            [v] => avcbn
                            [b] => Array
                                (
                                    [b] => werts
                                )

                        )

                    [n] => fgsfgfs
                )
        )

)

E un altro array più piccolo fatto cos'...
codice:
Array
(
    [global] => Array
        (
            [prova] => Array
                (
                    [n] => boooo
                )

        )

)

Vorrei praticamente eliminare dal primo array questo secondo array (con confronto solo su chiavi).

Ma non partendo dal primo livello... ma dall'ultimo...

cioè... vorrei levare soltanto l'elemento [n] (che sta sotto global e prova)


Ho provato tutte le funzioni sugli array, ma o non supportano il multidimensionale, oppure incontrano [global] e segano via tutto .



Qualche soluzione?


P.S
se c'è qualcuno talmente avanti che sa risolvere questo problema, magari sa anche come si può modificare la funzione array_merge_recursive() per sovrascrivere una key doppia, senza creare un altro array. Ho avuto la bella pensata di modificare quella funzione dal sorgente di php in array.c, ma non è così semplice come pensavo