Найти ключ во вложенном ассоциативном массиве
На днях я задал вопрос, связанный с этим, и получил ответ, но он не сделал то, что я хотел. Вот метод, который у меня есть для обхода многомерного ассоциативного массива, проверки наличия ключа в массиве (из ответа на мой предыдущий вопрос):
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;
}
Вот моя структура массива:
Array (
[0] => Array ( [reset_time] => 2013-12-11 22:24:25 )
[1] => Array ( [email] => [email protected] )
)
Метод пересекает первую ветвь массива, но не вторую. Может кто-нибудь объяснить, почему это может иметь место, пожалуйста? Кажется, мне чего-то не хватает.