Questo è solo un esempio fatto al volo:

Codice PHP:
$array_iniziale = array(
'0' => array('nome' => 'Giulio''cognome' => 'Tremonti''auto' => array('sportiva' => 'ferrari')),
'1' => array('nome' => 'Walter''cognome' => 'Veltroni''auto' => array('sportiva' => 'porsche'))
);

$gerarchia = array(
'auto',
'sportiva');

foreach (
$array_iniziale as $chiave => $valore)
        {
            
$stringa "array_iniziale['$chiave']";
            
            for (
$i 0$i count($gerarchia); $i++)
            {
                
$stringa .= "['$gerarchia[$i]']";
            }
            
            
$nuovoarray[$chiave] = $$stringa;
        } 
Se stampi $stringa è tutto ok, il percorso è corretto, solo che non riesco ad accedere a 'ferrari' e 'porsche'.

Grazie per l'aiuto.