beh, dopo l'explode potresti creare una stringa tipo $array['primo']['secondo']['terzo'], e poi con eval() fare dei controlli che ti servono
ad esempio:
Codice PHP:
$array['primo']['secondo']['terzo'] = 'ciao';
$stringa = "primo-secondo-terzo";
$stra = explode('-',$stringa);
$lk = array_pop($stra);
$checkstr = '$array';
foreach($stra as $k=>$v){
@$checkstr .= "['$v']";
}
var_dump(eval("return @array_key_exists(\$lk,$checkstr);"));
dovrebbe restituirti true. ma sta attento, anche "primo-secondo" o "primo" restituisce true, e pur essendo corretto, forse non e' il comportamento che ti aspetti.
Ho la vaga sensazione che ci sia qualcosa di marcio nella tua applicazione, se hai queste esigenze...