Thanks for your reply. So to my understanding, you are suggestion the following:

array(...) // n objects

where would the random go? Inside the for loop? But would this allow two banners from the same sponsor to be chosen in the same loop? The key is that once a banner is chosen, it must be not chosen again in the loop. Also, in this case, there are n=4 sponsor banners, but I only want to display 3 banners at a time. With the for loop, would not this display 4 banners after a run?