PHP Academy · Lektion

for- och while-loopar

Upprepa kod med for-, while- och do-while-loopar.

Lektion 3 av 413 steg

for- och while-loopar är en gratis lektion i PHP Academy på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för PHP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i PHP Academy innehåller totalt 4 lektioner.

Varför loopar?

Loopar låter dig upprepa ett kodblock utan att kopiera och klistra in det. PHP tillhandahåller fyra loopkonstruktioner:

  • for – känt antal iterationer
  • while – styrs av ett villkor
  • do-while – körs minst en gång
  • foreach – itererar över arrayer/objekt (nästa lektion)

for-loop

for-loopen har tre delar: initiering, villkor och inkrementering:

<?php
for ($i = 0; $i < 5; $i++) {
    echo $i . ' ';
}
// Output: 0 1 2 3 4

for-loop med nedräkning

Du kan räkna nedåt eller stega med valfritt intervall:

<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
    echo $i . ' ';
}

// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
    echo $i . ' ';  // 0 2 4 6 8 10
}

while-loop

En while-loop körs så länge villkoret är sant – villkoret kontrolleras före varje iteration:

<?php
$n = 1;

while ($n <= 5) {
    echo $n . ' ';
    $n++;
}
// Output: 1 2 3 4 5

do-while-loop

En do-while kör alltid kroppen minst en gång – villkoret kontrolleras efteråt:

<?php
$attempt = 0;

do {
    echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
    $attempt++;
} while ($attempt < 3 && !connectToServer());

function connectToServer(): bool { return false; }

Oändlig loop och break

En oändlig loop körs för evigt om du inte lämnar den med break:

<?php
$count = 0;

while (true) {
    $count++;
    if ($count >= 5) {
        break;  // exit loop
    }
}

echo $count; // 5

continue – hoppa över en iteration

continue hoppar över resten av den aktuella iterationen och går vidare till nästa:

<?php
for ($i = 1; $i <= 10; $i++) {
    if ($i % 2 === 0) {
        continue;  // skip even numbers
    }
    echo $i . ' ';  // 1 3 5 7 9
}

Kapslade loopar

Loopar kan kapslas – praktiskt för tvådimensionella data som rutnät eller tabeller:

<?php
for ($row = 1; $row <= 3; $row++) {
    for ($col = 1; $col <= 3; $col++) {
        echo "($row,$col) ";
    }
    echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)

Avbryta kapslade loopar

Använd break 2 (eller valfritt tal) för att lämna flera loopnivåer samtidigt:

<?php
for ($i = 0; $i < 5; $i++) {
    for ($j = 0; $j < 5; $j++) {
        if ($i === 2 && $j === 2) {
            break 2;  // exits both loops
        }
        echo "$i,$j ";
    }
}

Tips för loopprestanda

Undvik kostsamma operationer i loopvillkor:

<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }

// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }

// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }

Alternativ loopsyntax

Precis som if stöder loopar en alternativ syntax med kolon för inbäddning i HTML:

<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
    <li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>

Snabbkontroll

Vilken loop garanteras köra sin kropp minst en gång?

Sammanfattning: for- och while-loopar

Sammanfattning av loopar:

  • for – bäst när antalet iterationer är känt
  • while – villkoret kontrolleras före varje iteration
  • do-while – kroppen körs minst en gång
  • break lämnar en loop; break N lämnar N nivåer
  • continue går vidare till nästa iteration

Nästa avsnitt: foreach för iteration över arrayer.

Gratis att börja

Lär dig PHP med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
49
Lektioner
195

Vanliga frågor

Är lektionen ”for- och while-loopar” gratis?

Ja – hela texten till ”for- och while-loopar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i PHP Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i PHP Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”for- och while-loopar”?

Upprepa kod med for-, while- och do-while-loopar. Ni övar på PHP Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig PHP Academy?

Du behöver inga förkunskaper. Utbildningen i PHP Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”for- och while-loopar”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här PHP Academy-lektionen?

Ja. Varje PHP Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. if, elseif och else
  2. Switch- och match-satser
  3. for- och while-loopar
  4. foreach och loopkontroll
← Tillbaka till PHP Academy