Continue-Anweisung
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy. Lektion 52 von 71.
Während break eine Schleife vollständig beendet, möchten Sie manchmal nur die aktuelle Iteration überspringen und mit der nächsten fortfahren. Genau dafür dient die continue-Anweisung.
Wenn PHP auf continue trifft, springt es sofort zur nächsten Iteration der Schleife und überspringt den restlichen Code in der aktuellen Iteration.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Dies gibt aus:
1
2
4
5Beachten Sie, dass 3 fehlt. Wenn $i gleich 3 ist, überspringt die continue-Anweisung das echo und geht direkt zur nächsten Iteration über, in der $i zu 4 wird.
Ein häufiger Anwendungsfall ist das Filtern unerwünschter Werte beim Verarbeiten eines Arrays:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Das druckt nur die positiven Zahlen aus: 10, 8 und 12. Die negativen Werte werden übersprungen, aber die Schleife läuft durch alle Elemente weiter.
Der wesentliche Unterschied: break beendet die Schleife vollständig, während continue nur zur nächsten Iteration springt.
Aufgabe
EinfachLies zwei Eingabezeilen ein:
- Eine durch Kommas getrennte Liste von Ganzzahlen (z. B.
3,7,12,5,8,20,15) - Eine Divisorzahl
Verwende eine foreach-Schleife, um das Array zu durchlaufen. Verwende continue, um alle Zahlen zu überspringen, die durch den angegebenen Divisor teilbar sind. Gib alle anderen Zahlen aus, jeweils in einer eigenen Zeile.
Beispiel 1:
Wenn die Eingaben 1,2,3,4,5,6,7,8,9,10 und 3 lauten, sollte die Ausgabe wie folgt aussehen:
1
2
4
5
7
8
10(Die Zahlen 3, 6 und 9 werden übersprungen, da sie durch 3 teilbar sind.)
Beispiel 2:
Wenn die Eingaben 10,15,20,25,30 und 5 lauten, sollte die Ausgabe wie folgt aussehen:
(Alle Zahlen sind durch 5 teilbar, daher wird nichts ausgegeben.)
Beispiel 3:
Wenn die Eingaben 7,14,21,10,5 und 7 lauten, sollte die Ausgabe wie folgt aussehen:
10
5Probier es selbst
<?php
// Eingabe lesen
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));
// Komma-separierten String in Array von Ganzzahlen umwandeln
$numbers = array_map('intval', explode(',', $input));
// TODO: Schreibe deinen Code unten
// Verwende eine foreach-Schleife, um durch $numbers zu iterieren
// Verwende continue, um Zahlen zu überspringen, die durch $divisor teilbar sind
// Drucke alle anderen Zahlen, jede in einer separaten Zeile
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Vergleichs- und logische Operatoren
VergleichsoperatorenGleichheit und IdentitätLogische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache Logik2Variablen und Datentypen
ZahlenStrings und AnführungszeichenBoolesche WerteNamenskonventionenRückblick – VariableninitialisierungLeere VariablenString-VerkettungBenutzereingabenIn andere Datentypen umwandeln5Bedingte Logik
If-AnweisungIf - ElseDer ternäre OperatorNull-Koaleszenz-OperatorSwitch-AnweisungZusammenfassung – Entscheidungen treffen8Schleifen
For-SchleifeWhile-SchleifeForeach-SchleifeSchleifen mit Schlüsseln und WertenBreak-AnweisungContinue-AnweisungRückblick – Iterieren über Daten11Abschließende Herausforderungen
Herausforderung – FakultätsberechnungHerausforderung – Längstes WortHerausforderung – Vokalzähler3Grundlegende Operatoren
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorZusammengesetzte ZuweisungInkrement/DekrementOperatorrangfolgeRückblick – Einfache BerechnungenString-OperatorenÜbe selbstständig: Online-PHP-Compiler