il problema e' che non sappiamo a quale livello di sottocartelle puo' fermarsi l'array...eheheheh

io ho fatto così:

function _get_location( $mappa, $location )
{
$path = '';
foreach( $location as $item ) $path .= "['".$item."']";
return eval ( ' return $mappa'.$path.';' );
}

e la chiamo così:

$mia_location = _get_location( $mia_mappa, array('cartella 1','sub 1','sub 2','etc') );

solo che come dice un mio amico...EVAL = EVIL...