Mah, io direi che TU fai confusione con le graffe.
Come puoi pretendere che PHP capisca che quella graffa non è di chiusura dell'if ma è di chiusura del for?![]()
Prova ad usare un do..while che ti permette di eseguire sempre e comunque almeno una volta il contenuto del ciclo iterativo.... e poi eventualmente, in base alla condizione te la esegue più volte....