<?php
/*
for
"for" ist eine Schleife (= ein Stück Code, das mehrfach durchlaufen wird).
Der Kopf eines "for" ist (durch zwei ; ) in drei Teile aufgeteilt
Der erste Teil ist die Zuweisung einer Variable (ein veränderlicher Wert).
Der zweite Teil ist eine Bedingung. Solange diese zutrifft, wird die Schleife ein weiteres Mal durchlaufen.
Der dritte Teil ist ein Befehl, der jedes mal ausgeführt wird, wenn die Schleife einmal durchlaufen wurde.
Beschreibung der folgenden Zeile:
In $i (= Variable) wird der Wert 1 gespeichert. Nun wird geprüft, ob $i unter oder gleich (<=) 100 ist.
Trifft dies zu, wird der Schleifeninhalt (alles zwischen { und }) ausgeführt.
Anschließend wird $i um 1 erhöht (++$i), ist nun also 2.
Es wird wieder mit 100 verglichen, und da 2 noch unter 100 ist, wird die Schleife nochmal durchgeführt.
Dies wiederholt sich, bis der Wert in $i über 100 ist.
*/
for($i = 1; $i <= 100; ++$i) {
// Alles hier in den geschweiften Klammern wird 100 mal ausgeführt -
// Solange, bis $i einen Wert größer als 100 hat -
// Da $i nur um 1 erhöht wird, pro Ausführung.
/*
if
"if" ist eine Bedingung.
Der Teil, der in den runden Klammern hinter if steht, wird auf Wahrheit geprüft.
Trifft dieser Ausdruck zu, wird der Code in den geschweiften Klammern ausgeführt, sonst nicht.
An dieser Stelle steht "$i % 3 == 0" als Bedingung.
Das Modulo (also das %) an dieser Stelle bedeutet: "Der Rest der Division vom Wert in $i durch 3".
Ist $i z.B. 1, wie bei der ersten Ausführung der Schleife, wäre 1 % 3 der Rest 1.
Also steht als Bedingung (das zwischen ( und )) an dieser Stelle 1 == 0.
(Da ja 1 % 3 eine 1 ergibt - Der Rest der Division 1/3.)
Dies trifft also NICHT zu, wenn $i wie im ersten Durchlauf 1 ist!
Die Bedingung trifft nur zu, wenn $i den Wert 3 oder ein Vielfaches von 3 enthält.
Denn nur dann bleibt bei einer Division durch 3 kein Rest.
*/
if($i % 3 == 0) {
// Dieser Teil wird nur bei zutreffender Bedingung ausgeführt.
// Die Abfrage wird also 100 mal geprüft,
// Aber nur jedes dritte mal trifft sie zu.
/*
Echo ist eine einfache Ausgabe.
Das $i im String (ein String ist ein Text, eingeschlossen in Anführungszeichen)
wird durch den in $i gespeicherten Wert ersetzt.
Da dieser Teil nur ausgeführt wird, wenn $i/3 keinen Rest ergibt,
sagen nur die Zahlen 3,6,9... Hallo.
*/
echo "$i sagt Hallo!";
}
// Hier ist der Inhalt der Bedingung zu Ende
}
// Hier ist der Inhalt der Schleife zu Ende
?>