Teclas de concatenación de matriz multidimensional plana [duplicado]

Posible duplicado:
PHP convierte una matriz anidada en una sola matriz mientras concatena claves?
Obtenga la clave de la matriz de forma recursiva y cree una cadena separada de subrayado

Por favor, lea toda la pregunta antes de responder.

Tengo esta matriz multidimensional:

$data = array(
    'user' => array(
        'email'   => '[email protected]',
        'name'    => 'Super User',
        'address' => array(
            'billing' => 'Street 1',
            'delivery' => 'Street 2'
        )
    ),
    'post' => 'Hello, World!'
);

Quiero aplanar, transformado en:

$data = array(
    'user.email' => '[email protected]',
    'user.name'  => 'Super User',
    'user.address.billing'  => 'Street 1',
    'user.address.delivery' => 'Street 2',
    'post'       => 'Hello, World!'
);

Important:

Las claves sonmu importante para mí. Los quiero concatenados, separados por puntos.

Debería funcionar con cualquier nivel de anidamiento.

¡Gracias

Respuestas a la pregunta(10)

Su respuesta a la pregunta