Existe uma maneira de percorrer um array multidimensional sem saber sua profundidade?

Até agora, se eu tiver que percorrer um array multidimensional, eu uso um loop foreach para cada dimensão.

por exemplo, para duas dimensões

foreach($array as $key=>$value)
{
    foreach($value as $k2=>$v2)
    {
         echo
    }
}

O que eu faço quando não sei a profundidade do array? ou seja, a profundidade é variável.

A única coisa que posso pensar é codificar uma pilha inteira de loops e quebrar o loop se o próximo valor não for um array. Isso parece um pouco bobo.

Existe uma maneira melhor?

questionAnswers(5)

yourAnswerToTheQuestion