Obtención de datos de una matriz de sentido en orden inverso

Tengo una matriz como una lista de una manera:

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
                );
            );
        );
    );
);

Necesito obtener datos de matrices internas en orden inverso. (datos n, ..., datos 2, datos 1) ¿Conoces algún método agradable para esto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta