Die Bedingung in der Mitte muß zu true evaluieren, damit die Schleife fortgeführt wird - dort steht $i==5, deshalb gibt Dein Code nur eine 0 aus.
Nein, eine 0 darf er nicht ausgeben - die Prüfung findet bei einer for-Schleife stehts VOR der Ausführung statt.
Etwas ähnliches wie do-while im sinne einer for-Schleife gibt es afaik in php nicht.