Hey liebe Leute,
ich weis ich nerv warscheinlich mit meinem Unwissen^^
aber ich werd hier jeden Tag einer anderen Aufgabe gegenübergestellt ohne dass ich die davor vollkomm verstanden habe aber nun gut =)
heute möchte ich gern wissen ob mir jemand mal diesen Code erklären kann, was genau seine aufgaben sind, was er bewirkt, wie man damit am besten umgeht ect.
wäre sehr nett wenn sich jemand die Zeit nimmt und es mir erklärt =)
Hallo,
im Prinzip wurde fast alles richtig beschrieben.
Nur über echo würde ich sagen, dass es eine allgemeine Ausgabe von irgendetwas ist und keine explizite Ausgabe auf dem Bildschirm. Dabei wandelt echo alles in ein String um und gibt diesen aus. In diesem Fall wird über echo ein
Container in der Webseite erzeugt.
Nun aber allgemein zum Code. Das macht ohne eine umschließende Schleife wenig Sinn. Welche schleife es sein soll hängt von der Aufgabestellung ab. Die Schleife wird gebraucht um den inkrementierten Wert von $i zu prüfen. Sonnst wird nur ein Wert nämlich 1 geprüft.
Die interessanteste Stelle im Code ist
[PHP]if($i %3 == 0)[/PHP]Prozent Zeichen hat in diesem Zusammenhang den Namen Modulo. Dementsprechend wird hier eine Modulo-Rechnung durchgeführt. Dabei wird der Wert der Variable $i durch 3 geteilt, und nur der Rest(das, was nach der Komma steht) der Teilung gespeichert. Hier ein Beispiel:
$i / 3 = Wert,Rest => $i % 3 = Ergebnis
1 / 3 = 0,3 => 1 % 3 = 3
2 / 3 = 0,6 => 2 % 3 = 6
3 / 3 = 1,0 => 3 % 3 = 0 (die if Bedienung ist erfühlt)
4 / 3 = 1,3 => 4 % 3 = 3
5 / 3 = 1,6 => 5 % 3 = 6
6 / 3 = 2,0 => 6 % 3 = 0 (die if Bedienung ist erfühlt)
Als nächstes wird dieser Rest mit Null verglichen. Der Vergleich liefert einen TRUE oder FALSE zurück, was als Bedienung für das Ausführen des Codes innerhalb {…} Klammern ist.
Und so sollte meiner Meinung nach dieser Code aussehen:
[PHP]
<?
$i=1;
while ($i <= 10) { // die Schleife wird 10 Mal abgearbeitet
if(($i % 3) == 0){ // Den Wert der Modulo-Rechnung mit Null vergleichen
echo '
'; // Einen
Container erzeugen
}
$i++; // $i um eins erhöhen
}
?>
Der Rest ist nicht das, was nach dem Komma steht, sondern derjenige Anteil der Zahl links vom Modulo-Operator, der nicht mehr „glatt“ durch die Zahl rechts vom Modulo-Operator geteilt werden kann.
Das ist so, wie Division vor Einführung der Kommazahlen in der Schule unterrichtet wird: 26 geteilt durch 7 = 3 Rest 5
Diesen Rest liefert der Modulo-Operator.
Gebraucht wird das üblicherweise, um alle n Schleifendurchläufe bestimmte Logik auszuführen. Zum Beispiel, um x Boxen in Reihen zu je n Elementen anzuordnen (siehe Code unten).
@mermshaus,
du hast Recht mit dem Rest, das wüsste ich auch. Ich bin aber vom obigen Beispiel ausgegangen, und da ist der Rest immer das, was nach dem Komma steht. Es schien mir einfacher es auf diesem Wege zu erklären. Aber dein Beispiel 26 / 7 = 3 Rest 5 ist viel besser. Danke für die Korrektur.
PORTAL
@ mermshaus,
da ist bei mir wohl vieles schief gegangen) Danke, dass du es prüfst!
Allgemein bin ich immer dankbar, wenn man mich korrigiert, das bringt mich weiter.
Ich habe mir meine Tabelle noch ein Mal angeschaut - das ist ein Desaster. Der Rest kann ja nie größer oder gleich der Zahl rechts vom Modulo Operator sein. :oops: