Hallo,
Achso... Kenne diesen Programmierstil nicht, sorry ;)
Hmm, ich hab diese Schreibweise (Überzeugung?) auch noch nie gesehen.
Bei mir wird die Schleife einfach durch die geschweifte Klammer beendet, ohne ";".
Das ist auch richtig.
Eine einzelne Anweisung wird mit ';' abgeschlossen.
Mehrere Anweisungen werden mit '{' ... '}' zu einem Block geklammert (ohne ';' nach der schließenden Klammer).
Ein einzelnes, nicht unbedingt erforderliches ';' wird als "leere Anweisung" interpretiert. Das kann tückisch sein:
~~~php
while ($k>0);
{ echo ("$k");
$k--;
}
Abgesehen davon, dass dieser Code nicht viel Sinn ergibt, zeigt er genau diesen häufigen Fehler auf. Nach while () folgt eine Anweisung oder ein Block als Schleifenrumpf. Die nächste Anweisung ist aber die leere Anweisung, die sich aus dem überzähligen ';' nach while () ergibt. Die Schleife lautet also im Klartext: Solange die Bedingung zutrifft, tu nichts und prüfe die Bedingung dann erneut. ;-)
Das könnte ein Grund sein, auf überflüssige ';' zu verzichten.
Schönen Tag noch,
Martin