Encontrar clave en la matriz asociativa anidada

El otro día hice una pregunta relacionada con esto, y obtuve una respuesta, pero no hizo lo que quería. Aquí está el método que tengo para atravesar una matriz asociativa multidimensional, verificando si una clave está en la matriz (de la respuesta a mi pregunta anterior):

private function checkKeyIsInArray($dataItemName, $array)
{
    foreach ($array as $key => $value)
    {
        // convert $key to string to prevent key type convertion
        echo '<pre>The key: '.(string) $key.'</pre>';

        if ((string)$key == $dataItemName)
            return true;

        if (is_array($value))
            return $this->checkKeyIsInArray($dataItemName, $value);

    }
    return false;
}

Aquí está mi estructura de matriz:

Array (
    [0] => Array ( [reset_time] => 2013-12-11 22:24:25 )
    [1] => Array ( [email] => [email protected] )
)

El método atraviesa la primera rama de la matriz, pero no la segunda. ¿Alguien podría explicar por qué este podría ser el caso por favor? Parece que me estoy perdiendo algo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta