05 For-Schleifen For-Schleifen 1/7 Was ist eine Schleife? Programmieren kann harte Arbeit bedeuten. Und manchmal ist es noch zäher, das gleiche immer und immer wieder erledigen zu müssen. Nehmen wir an, wir möchten eine Liste von Schaltjahren ausgeben. Eventuell denkst, Du wir müssten folgenden Code schreiben: <?php echo 2004; echo 2008; echo 2012; // Und so weiter?> Aber es gibt einen besseren Weg! Eine Schleife ist ein nützliches Stückchen Code, welches eine Serie von Anweisungen wiederholt. Statt also z.b. wie oben ganz oft echo zu schreiben, können wir ganz einfach den schon im Editor eingefügten Code verwenden. Schau Dir im Editor die for-schleife an. Siehst Du, wie die Schleife jedesmal den Wert von $leap ausgibt, dann 4 hinzuaddiert und das wiederholt? Klicke auf den Submit-Button um zu lernen, wie das funktioniert.
For-Schleifen 2/7 For-Schleifen-Syntax Genial, nicht? Schauen wir uns nun in Ruhe und Schritt für Schritt die Syntax an. Hier nachfolgend ein Beispiel, das einfach die Zahlen 0 bis 9 ausgibt: <?php for ($i = 0; $i < 10; $i++) { echo $i; // echoes 0123456789?> Zerlegen wir den Code in Einzelteile: 01. Die Schleife beginnt mit dem Schlüsselwort for. Es teilt PHP mit, dass nun eine Schleife beginnt. 02. Dann folgt ein Paar runder Klammern. In diesem Klammernpaar geben wir getrennt durch Strichpunkte PHP drei Informationen: Wo die Schleife gestartet werden soll; wo die Schleife enden soll (resp. die Bedingung dass sie noch fortgeführt wird); und wie man zur nächsten Iteration findet (also z.b. um eins hochzählen). 03. Danach folgt in geschweiften Klammen der Codeblock, der bei jeder Iteration ausgeführt werden soll. Somit liest sich das obige Beispiel wie folgt: Starte eine Schleife mit $i bei 0, wiederhole solange $i kleiner ist als 10, zähle dabei jedes Mal um 1 hoch und gib bei jeder Wiederholung den Wert von $i aus. ($i++ ist eine Abkürzung für $i=$i+1. Du wirst sie sehr oft sehen.) Ergänze die for-schleife im Editor indem Du die durch die korrekte Schleifen-Syntax ersetzt. Benutze das obige Beispiel als Hilfe.
For-Schleifen 3/7 Eine erste eigene For-Schleife erstellen Nun wollen wir ganz selber eine komplette for-schleife einfügen. Eine for-schleife, die die Zahlen 1 bis 10 ausgibt könnte etwa so aussehen: for ($i = 0; $i < 11; $i++) { echo $i; Diese for-schleife zählt jedesmal um 1 hoch, bis 10. Du kannst das dritte Argument der for-schleife so abändern, dass sie stattdessen immer um 5 hochzählt. Etwa so: for ($i = 0; $i < 11; $i = $i + 5) { echo $i; Statt $i++ haben wir nun $i=$i+5 eingesetzt um in Fünferschritten hochzuzählen, auch hier wieder bis 10. Erstelle eine for-schleife die $i in Zehnerschritten von 10 bis 100 hochzählt. Innerhalb der Schleife soll jeweils der aktuelle Wert von $i ausgegeben werden.
For-Schleifen 4/7 Wann benutzt man eine for-schleife? for-schleifen eignen sich hervorragend um den gleichen Code immer und immer wieder durchlaufen zu lassen. Insbesondere dann, wenn man genau weiss, wie oft die Schleife durchzulaufen ist. (Für jene Fälle in denen wir zu Beginn noch nicht wissen, wie viele Iterationen die Schleife hat, verwenden wir dann z.b. while- oder do/while-schleifen. Dazu später mehr.) Es gibt zudem noch eine ganz spezielle Art Schleife: die foreach-schleife: Damit können wir jedes Element einer Liste durchlaufen um es z.b. zu verändern oder auszugeben. Schauen wir uns das nun an. Klicke auf den Submit-Button um fortzufahren.
For-Schleifen 5/7 Schleifen + Arrays = ForEach Die foreach-schleife wird verwendet, um über jedes Element eines Objekts zu iterieren, sie ist daher perfekt für den Einsatz mit Arrays geeignet. Man kann sich vorstellen, dass die foreach-schleife von Element zu Element eines Arrays hüpft und den Code innerhalb der { für jedes dieser Elemente ausführt. Schau Dir den Code im Editor an: Die Variable $lang nimmt den Wert jedes Elements von $langs an, einen nach dem anderen; dieser wird dann jeweils ausgegeben. Klicke auf den Save & Submit-Button um zu lernen, wie das funktioniert.
For-Schleifen 6/7 Mit ForEach arbeiten Schauen wir uns die Syntax von foreach ganz genau an. Als Erstes haben wir hier eine foreach-schleife, die über einen Array iteriert und jedes Element ausgibt, das es findet. <?php $numbers = array(1, 2, 3); foreach($numbers as $item) { echo $item;?> Zuallererst wird ein Array erstellt (vgl. letzte Lektion). Danach wir mit dem Schlüsselwort foreach und nachfolgenden Klammern die Schleife gestartet. (Fast wie bei der normalen for-schleife.) Innerhalb der runden Klammern steht der Code $numbers as $item. Er sagt: Für jedes Ding in der Variable $numbers mach Folgendes: Setze die Variable $item temporär auf diesen Wert. (Dabei können wir anstelle von $item selbstverständlich auch andere Variablennamen verwenden.) Schliesslich setzen wir den jedesmal auszuführenden Code in geschweifte Klammern. Hier geben wir nur einfach den Wert des Elements aus. Komplettiere die foreach-schleife im Editor indem Du die durch die korrekte Schleifen-Syntax ersetzt. Benutze das obige Beispiel als Hilfe.
For-Schleifen 7/7 Nun nun ganz alleine! Zeig nun was Du kannst: Schreibe die foreach-schleife selber komplett hin. In Zeile 8 wird ein Array namens $yardlines erstellt. Schreibe eine foreach- Schleife, welche über diesen Array iteriert und jedes Element ausgibt