Pobieranie danych z tablicy jednokierunkowej w odwrotnej kolejności

Mam tablicę podobną do listy jednokierunkowej:

array(
    'data1' => <some data>,
    'next' => array(
        'data2' => <some data>,
        'next' => array(
            'data3' => <some data>,
            'next' => array(
                'data4' => <some data>,
                'next' => array(
                    'data5' => <some data>,
                    'next' => ..... etc to data n
                );
            );
        );
    );
);

Muszę pobrać dane z wewnętrznych tablic w odwrotnej kolejności. (dane n, ..., dane 2, dane 1) Czy znasz jakąś fajną metodę?

questionAnswers(5)

yourAnswerToTheQuestion