PHP recursiva imprime todos los elementos de una matriz multidimensional con claves

Encontré el siguiente código, que imprime todos los elementos de una matriz bien. ¿Cómo puedo modificarlo para imprimir una clave una vez y luego todos los valores correspondientes a la clave, luego otra clave, luego todos los valores correspondientes a la clave? También me gustaría modificarlo para que solo imprima los primeros 9 valores (no más que esto) para cada clave.

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

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

Respuestas a la pregunta(5)

Su respuesta a la pregunta