Localizar chave no array associativo aninhado

Outro dia fiz uma pergunta relacionada a isso e obtive uma resposta, mas ela não fez o que eu queria. Aqui está o método que tenho para percorrer uma matriz associativa multidimensional, verificando se uma chave está na matriz (da resposta à minha pergunta 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;
}

Aqui está minha estrutura de matriz:

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

O método atravessa a primeira ramificação da matriz, mas não a segunda. Alguém poderia explicar por que isso pode ser o caso, por favor? Parece que estou perdendo alguma coisa.

questionAnswers(1)

yourAnswerToTheQuestion