continue

Från Wiki.linux.se
Version från den 18 augusti 2024 kl. 07.16 av Admin (diskussion | bidrag) (→‎Ändringslogg för continue)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

continue

(PHP 4, PHP 5, PHP 7, PHP 8)

`continue` används inom slingstrukturer för att hoppa över resten av den aktuella slingiterationen och fortsätta exekveringen vid villkorsutvärderingen och sedan vid början av nästa iteration.

Not

I PHP betraktas `switch`-uttalandet som en slingstruktur för syftet med `continue`. `continue` beter sig som `break` (när inga argument anges) men kommer att ge en varning eftersom detta sannolikt är ett misstag. Om en `switch` finns inuti en slinga, kommer `continue 2` att fortsätta med nästa iteration av den yttre slingan.

`continue` accepterar ett valfritt numeriskt argument som berättar hur många nivåer av inneslutande slingor den ska hoppa till slutet av. Standardvärdet är 1, vilket innebär att den hoppar till slutet av den aktuella slingan.

<?php
$arr = ['noll', 'ett', 'två', 'tre', 'fyra', 'fem', 'sex'];
foreach ($arr as $key => $value) {
    if (0 === ($key % 2)) { // hoppa över medlemmar med jämn nyckel
        continue;
    }
    echo $value . "\n";
}
?>

Ovanstående exempel kommer att producera:

ett
tre
fem
<?php
$i = 0;
while ($i++ < 5) {
    echo "Yttre\n";
    while (1) {
        echo "Mellan\n";
        while (1) {
            echo "Inre\n";
            continue 3;
        }
        echo "Detta blir aldrig utskrivet.\n";
    }
    echo "Inte heller detta.\n";
}
?>

Ovanstående exempel kommer att producera:

Yttre
Mellan
Inre
Yttre
Mellan
Inre
Yttre
Mellan
Inre
Yttre
Mellan
Inre
Yttre
Mellan
Inre

Att utelämna semikolon efter `continue` kan leda till förvirring. Här är ett exempel på vad du inte bör göra.

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    print "$i\n";
}
?>

Man kan förvänta sig resultatet att vara:

0
1
3
4

Ändringslogg för continue

Version Beskrivning
7.3.0 `continue` inom en `switch` som försöker agera som ett `break`-uttalande för `switch` kommer att utlösa en E_WARNING.

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/control-structures.continue.php
PHP
Språkreferens
Språkreferens#Kontrollstrukturer