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.