Cita:
Iniciado por truman_truman Yo pienso que lo mejor es ejecutar la query con JOIN así solo se hace la consulta una vez , porque de el modo en el que está planteado actualmente se llama a una consulta por cada pasada del ciclo for, cuando con JOIN solo se haría una sola consulta a la base de datos agilizando en gran medida el rendimiento del script.
Eso es cierto. Aunque supongo que el array de alumnos ya estará cargado antes de utilizar estos métodos.
En el primer foreach, creo que no debes poner el "else" y menos con un break, ya que éste acaba la ejecución del foreach, y dejaría fuera del array a los alumnos de ese grado que estuviesen listados después del que estás tratando.
De todas maneras, ten en cuenta la recomendación del compi de arriba. cuantas menos queries, mejor.
Saludos