Push down GUI everytime for loop cycles through Array

Im trying to display a GUI box every time i cycle through a for function. And every time it does add a little bit to the height variable for that gui box so it goes under the previous one. Here is what i have:

    for (i = 0; i < indivSpotNo.Length; i++) {
        hgt += 30f;
        GUI.Box (new Rect (20, hgt, 30, 25), indivSpotNo *.ToString());*

}
}
except what is happening is the hgt variable isnt stopping for each one its just adding every time and pushing them all off screen. What else can i do that will achieve this?

I assume hgt is declared outside the method and you don’t reset it?

hgt = 0;
for (i = 0; i < indivSpotNo.Length; i++)
{
    hgt += 30f;
    GUI.Box (new Rect (20, hgt, 30, 25), indivSpotNo *.ToString());*

}