Recursão PHP imprimir todos os elementos de um array multidimensional com chaves

Eu encontrei o seguinte código, que imprime todos os elementos de uma matriz bem. Como posso modificá-lo para imprimir uma chave uma vez e, em seguida, todos os valores correspondentes à chave, em seguida, outra chave e, em seguida, todos os valores correspondentes à chave? Eu também gostaria de modificá-lo para que apenas imprima os primeiros 9 valores (não mais do que isso) para cada chave.

 function printAll($a) {
  if (!is_array($a)) {
    echo $a, ' ';
     return;
   }

   foreach($a as $v) {
   printAll($v);
  }
 }

questionAnswers(5)

yourAnswerToTheQuestion