Buenas, aunque el código funcione, no es una respuesta adecuada dentro del curso propuesto. El motivo es que se usan conceptos, estructuras o instrucciones no explicadas dentro del curso (por ejemplo print_r, ó por ejemplo foreach en esta entrega, cuando en el contexto del curso aún no ha sido explicado en la entrega CU00825B). Los cursos planteados en la web están pensados para irlos siguiendo paso a paso, utilizando progresivamente las herramientas del lenguaje a medida que van siendo explicadas en el curso, y sin usar otras soluciones no representativas del contenido del curso, aunque pueda resolverse igualmente el problema con esa otra solución planteada. Una solución adecuada ajustada a los contenidos del curso sería por ejemplo la planteada en
https://aprenderaprogramar.com/foros/index.php?topic=4123.0Salu2