Huhu,
ich habe mir gerade mal Gedanken darüber gemacht wozu genau die for Schleife eigentlich gut ist.
Als Erstes kam mir in den Kopf das sie eventuell schneller ist wenn man zählen möchte, erschreckenderweise stellte ich das Gegenteil fest:
Ich ließ die while / do while und die for Schleife jeweils von 1 bis 100.000.000 zählen, dabei bekam ich folgendes Ergebnis bei meiner Zeitmessung:
Wie man sieht brauchte die for Schleife fast eine Sekunde mehr als die do while Schleife, wobei allerdings bei den beiden while Schleifen die Variable natürlich vorher gesetzt werden musste, das heißt in meinen Augen das die do while Schleife 2 Funktionen 1 Sekunde schneller ausführt als die for Schleife eine Funktion, schon irgendwie erschreckend.
Mein 2. Punkt der mir noch einfällt wäre natürlich Bequemlichkeit, mein Beispiel:
<span class="syntaxhtml"><br /><br /><span class="syntaxdefault"><?php<br /> </span><span class="syntaxkeyword">for(</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">1 </span><span class="syntaxkeyword">;</span><span class="syntaxdefault">$i</span><span class="syntaxkeyword"><=</span><span class="syntaxdefault">100</span><span class="syntaxkeyword">; print </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++);<br /></span><span class="syntaxdefault">?><br /></span>Ist natürlich viel schöner zu schreiben als:<br /><span class="syntaxdefault"><?php<br /> $i </span><span class="syntaxkeyword">= </span><span class="syntaxdefault">1</span><span class="syntaxkeyword">;<br /> while(</span><span class="syntaxdefault">$i </span><span class="syntaxkeyword"><= </span><span class="syntaxdefault">100</span><span class="syntaxkeyword">)<br /> {<br /> print </span><span class="syntaxdefault">$i </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'<br />'</span><span class="syntaxkeyword">;<br /> </span><span class="syntaxdefault">$i</span><span class="syntaxkeyword">++;<br /> }<br /></span><span class="syntaxdefault">?><br /></span>Bei 2. Variante müssen wir sogar noch einen Funktionsblock setzen (ihgittihgitt)<br /></span>
Was haltet denn ihr davon? Oder auch: Was wisst ihr darüber? Einfach Semantik? Aber ist Semantik nicht auch für bessere Performance gedacht? Ich bin überfragt :roll: