Tu comparación del for() está mal, porque indicas "que sea menor o igual", y obviamente el "igual" está de más, pues todos sabemos que los índices comienzan desde cero.
Imagina que tienes 4 resultados, entonces tu for() es así:
Obvio no existe un elemento con el índice 4, pues al ser 4 elementos y siendo el primer índice cero llegaría hasta el índice 3 y no más.
Aritmética de arrays básica, consulta el manual.