isset con conteo de teclas de matriz variable

La matriz es multidimensional y tiene un número variable de subclases, como

$arr[$a][$b][$c] = 'X';

3 en este caso. Quiero crear una función que tome una cadena como abc como argumento y verifique si la matriz tiene esa clave, luego desactívela: unset ($ arr [$ a] [$ b] [$ c]).

si le doy ab entonces debería desarmarse ($ arr [$ a] [$ b])

Agradecería cualquier ayuda …

Aquí hay un enfoque recursivo para su problema:

 function removeByStr($key, &$arr) { if(!is_array($key)) { $key = explode(".", $key); } $i = array_shift($key); if(count($key) == 0) { if(!isset($arr[$i])) { return; } unset($arr[$i]); } else if(isset($arr[$i]) && is_array($arr[$i])) { removeByStr($key, $arr[$i]); } }