Iterador Recursivo do PHP: Chave principal da iteração atual da matriz?

Eu tenho uma matriz como esta:

$arr = array(
        $foo = array(
            'donuts' => array(
                    'name' => 'lionel ritchie',
                    'animal' => 'manatee',
                )
        )
    );

Usando essa mágica do 'Iplicador Recursivo SPL' e este código:

$bar = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr));

    foreach($bar as $key => $value) 
    {
        echo $key . ": " . $value . "<br>";
    }

Eu posso atravessar o array multidimensional e retornar os pares key => value, como:

nome: lionel ritchie animal: peixe-boi

No entanto, preciso retornar o elemento PARENT da matriz iterada atual também, portanto ...

donuts nome: richie do lioneldonuts animal: peixe-boi

Isso é possível?

(Eu só me tornei ciente de todas as coisas do 'Recursive Iterator', então se eu estiver perdendo algo óbvio, peço desculpas.)

questionAnswers(1)

yourAnswerToTheQuestion