Werden auf einer Internetseite Elemente wiederholt dargestellt, lässt sich dies mit Hilfe von Schleifen realisieren. Schleifen gehören zu den wesentlichen Kontrollstrukturen für die Automatisierung von Webseiten. Man spricht auch von dynamisch erstellten Internetseiten.
In diesem Artikel wird der grundsätzliche Aufbau von Schleifen mit Initialisierung, Bedingung und Änderung erklärt. Ein besonderes Augenmerk liegt hierbei auf der for-Schleife zum Zählen, dem inkrementieren und dekrementieren.
Ich werde wohl nie den Moment vergessen, als ich diesen Einkaufswagen eine Stunde unbeaufsichtigt in einem großen Einkaufszentrum in Chiang Mai - Nordthailand stehen lies. Als ich zurück kam stand er immer noch an Ort und Stelle und kein einziger Artikel fehlte. Niemand, aber auch kein einziger, hatte irgendetwas entwendet.
Beim Onlineshopping kann der Einkaufswagen nicht so einfach entwendet werden. Jeder Artikel wird sturkturiert auf die gleiche Art und Weise dargestellt: Foto, Überschrift, Beschreibung, Menge, Preis u.s.w. Und schon haben wir einen sich wiederholenden Prozess, welcher mit Hilfe einer Schleife vereinfacht wird.
Befinden sich bspw. drei Gegenstände im Warenkorb, so werden dreimal Photos, dreimal Überschriften, dreimal Beschreibungen u.s.w. aus einer Datenbank abgerufen.
Ist die Anzahl der Wiederholungen grundsätzlich bekannt werden mit Hilfe der for-Schleife (auch Zählschleife) die Anweisungen wiederholt.
<?php
for($i = 0; $i < 5; $i++){
//diese Anweisung wird 5mal wiederholt
}?>
Der Schleifenkopf besteht aus dem Schlüsselwort for
gefolgt von Klammern zwischen denen mit Semikolon getrennt drei Anweisungen stehen:
$i = 0
: Legt den Startwert beim Zählen fest. Beachte: In der Informatik fängt man bei Null an zu zählen.$i < 5
: Solange die Bedingung wahr ist werden die Anweisungen im Schleifenkörper immer wieder ausgeführt. Erst wenn die Bedingung den boolschen Ausdruck "false" ergibt wird die Wiederholung abgebrochen.$i++
: nach jedem Durchlauf des Schleifenkörpers wird der Variablenwert inkrementiert, hier um eins erhöht.Der Schleifenkörper steht zwischen zwei geschweiften Klammern. Hier stehen die zu wiederholenden Anweisungen. Man beachte, dass bei einer einzeiligen zu wiederholenden Anweisung die geschweiften Klammern optional sind.
<?php
for($i=0; $i<5; $i++){
echo 'Position '.($i+1).'<br>';
}
?>
Schlechter Kunde!
<form method="GET" action="#formulareingabe">
Für jede 5 Euro erhält man einen Treuestempel. Bei 10 Stempel erhält man ein Freigetränk ☕.
<input type="number" class="form-control" name="amount">
<button type="submit" class="btn btn-outline-secondary">Treuestempel einreichen</button>
</form>
<br>
<?php
$stampCount = (int) ($_GET['amount']/5);
if($stampCount > 0){?>
<?php for($i=0; $i<$stampCount; $i++){?>
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" checked>
</div>
<?php }?>
<p>Treuepunkte: <?= $stampCount ?><br>
Anzahl Freigetränke ☕ <?= (int) ($stampCount/10) ?></p>
<?php } ?>
Möchte man Variablenwerte erhöhen oder verringern, kann man dies durch inkrementieren oder dekrementieren erreichen. Liegen in einer Glasschütte drei Limetten und es kommt eine hinzu, sind es insgesamt 4 Stück.
Beim Programmieren: Ist in einer Variable der Wert 3 gespeichert und kommt eins hinzu, ist der neue Wert 4. Dabei lässt sich das Inkrementieren und Dekrementieren grundsätzlich durch alle Rechenoperatoren +
, -
, *
, /
erreichen.
Inkrementieren oder Hochzählen
$i = $i + 1
kurz: $i++
, $i+=1
oder ++$i
$i = $i + 2
kurz: $i+=2
$i = $i * 1.2
kurz: $i*=1.2
$i = $i / 0.9
kurz: $i/=0.9
Dekrementieren oder Runterzählen
$i = $i - 1
kurz: $i--
, $i-=1
oder --$i
$i = $i - 2
kurz: $i-=2
$i = $i * 0.75
kurz: $i*=0.75
$i = $i / 2.3
kurz: $i/=2.3
$i = $i + 1
handelt es sich nicht um eine mathematische Gleichung, sondern um eine Zuweisung.
Erhöhung um 1:
0 1 2 3 4 5 6 7 8 9 10
Erhöhung um 2:
0 2 4 6 8 10 12 14 16 18 20
Erhöhen vor der ersten Ausgabe:
1 4 7 10 13 16 19
Verringerung um 1:
10 9 8 7 6 5 4 3 2 1 0
jährliches Wachstum von 10 %:
100 110 121 133 146 161 177 194
Erhöhung um 1:<br>
<?php for($i=0; $i<=10; $i++) echo $i." ";?><br><br>
Erhöhung um 2:<br>
<?php for($i=0; $i<=20; $i+=2) echo $i." ";?><br><br>
Erhöhen vor der ersten Ausgabe:<br>
<?php for($i=0; $i<=20; $i+=2) echo ++$i." ";?><br><br>
Verringerung um 1:<br>
<?php for($i=10; $i>=0; $i--) echo $i." ";?><br><br>
jährliches Wachstum von 10 %:<br>
<?php for($i=100; $i<=200; $i*=1.1) echo (int) $i." ";?><br>
Wähle die korrekten Aussagen aus.
for($i = 0; $i < 5; $i++) echo $i." ";
0 1 2 3 4 5
0 2 4 6 8
5 4 3 2 1 0
0 1 2 3 4
for($i = 0; $i <= 5; $i++) echo $i." ";
0 2 4 6 8
0 1 2 3 4 5
5 4 3 2 1 0
0 1 2 3 4
for($i = 0; $i < 10; $i+=2) echo $i." ";
0 1 2 3 4 5
5 4 3 2 1 0
0 2 4 6 8
0 1 2 3 4
for($i = 5; $i >= 0; $i--) echo $i." ";
5 4 3 2 1 0
5 4 3 2 1
0 2 4 6 8
0 1 2 3 4
for($i = 0; $i <= 10; $i++) echo ++$i." ";
1 3 5 7 9 11
0 1 2 3 4 5 6 7 8 9 10
0 2 4 6 8 10
1 2 3 4 5 6 7 8 9 10 11
for($i = 0; $i <= 10; $i++) echo $i++." ";
1 3 5 7 9 11
0 1 2 3 4 5 6 7 8 9 10
0 2 4 6 8 10
1 2 3 4 5 6 7 8 9 10 11
In der Natur wiederholt sich so Vieles: Es sind Milliarden von Fischen, Korallen, Palmen u.v.m. Und doch ist jede Pflanze und jedes Tier einzigartig.
In diesem Video bekommst Du einen kurzen Einblick in die Einzigartigkeit der Inselwelt Indonesiens.
Maze ist ein Labyrinth. Hier bekommst du spielerisch eine Einführung in Schleifen und Entscheidungen. Es beginnt einfach, aber jedes Level ist anspruchsvoller als das letzte.
In einem Café gewährt der Inhaber folgenden Treuevorteil: Für jede 5 EUR bekommt man einen Treuestempel. Für 10 Stempel erhält man einen Rabatt im Wert von 3 EUR.
Wähle die korrekten Aussagen aus.
Ausgabe: 1 2 3 4 5
Bestimme den passenden Quelltext.
Wähle eine Antwort.
echo 1 2 3 4 5;
for($i=0;$i<5;$i++) echo $i+1." ";
for($i=1;$i<=5;$i++) echo $i+1." ";
for($i=0;$i<5;$i++) echo $i." ";
Ausgabe: 1, 2, 3, 4, 5,
Bestimme den passenden Quelltext.
Wähle eine Antwort.
echo 1, 2, 3, 4, 5,
for($i=1;$i<=5;$i++) echo $i;
for($i=0;$i<5;$i++) echo $i.",";
for($i=1;$i<6;$i++) echo $i.',';
Ausgabe: 5 4 3 2 1 0
Bestimme den passenden Quelltext.
Wähle zwei Antworten.
for($i=5;$i>=0;$i-=1) echo $i." ";
for($i=5;$i>=0;$i++) echo $i." ";
for($i=5;$i>=0;$i--) echo $i+1;
echo '5 4 3 2 1 0';
Ausgabe: 10 8 6 4 2 0
Bestimme den passenden Quelltext.
Wähle zwei Antworten.
for($i=10;$i>=0;$i-=2) echo $i." ";
for($i=10;$i>=0;$i--) echo $i+1." ";
for($i=10;$i>=0;$i--) echo $i--." ";
echo 10 8 4 2 0;
die for-Schleife, -n | eine Anweisung zum Wiederholen von Programmteilenfor($i = 0; $i < 4; $i++){...} |
initialisieren | einer Variable einen Startwert zuweisen$i = 0 |
die Bedingung prüfen | den Wert einer Variable überprüfen$i < 5 |
ändern | den Wert einer Variable hoch- oder runterzählen$i++ |
inkrementieren | hochzählen eines Wertes$i=$+1 |
dekrementieren | runterzählen eines Wertes$i=$i-1 |