0Pricing
PHP Academy · Lezione

Cicli for e while

Ripetere il codice con i cicli for, while e do-while.

Cicli for e while è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.

Perché utilizzare i cicli?

I cicli permettono di ripetere un blocco di codice senza copiarlo e incollarlo. PHP mette a disposizione quattro costrutti per i cicli:

  • for — numero di iterazioni noto
  • while — controllato da una condizione
  • do-while — viene eseguito almeno una volta
  • foreach — itera su array e oggetti (nella prossima lezione)

Ciclo for

Il ciclo for ha tre parti: inizializzazione, condizione e incremento:

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

Ciclo for con conteggio decrescente

È possibile contare all'indietro o procedere con un incremento qualsiasi:

<?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
}

Ciclo while

Un ciclo while viene eseguito finché la sua condizione è vera, verificata prima di ogni iterazione:

<?php
$n = 1;

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

Ciclo do-while

Un ciclo do-while esegue sempre il corpo almeno una volta, verificando la condizione al termine:

<?php
$attempt = 0;

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

function connectToServer(): bool { return false; }

Ciclo infinito e break

Un ciclo infinito viene eseguito per sempre, a meno che non se ne esca con break:

<?php
$count = 0;

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

echo $count; // 5

continue — saltare un'iterazione

continue salta il resto dell'iterazione corrente e passa a quella successiva:

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

Cicli annidati

I cicli possono essere annidati, una soluzione utile per dati bidimensionali come griglie o tabelle:

<?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)

Interrompere cicli annidati

Utilizzi break 2 (o qualsiasi altro numero) per uscire contemporaneamente da più livelli di ciclo:

<?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 ";
    }
}

Suggerimenti sulle prestazioni dei cicli

Eviti le operazioni costose nelle condizioni dei cicli:

<?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) { /* ... */ }

Sintassi alternativa dei cicli

Come per if, i cicli supportano una sintassi alternativa con i due punti per essere incorporati nell'HTML:

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

Verifica rapida

Quale ciclo garantisce l'esecuzione del proprio corpo almeno una volta?

Riepilogo: cicli for e while

Riepilogo dei cicli:

  • for — ideale quando il numero di iterazioni è noto
  • while — la condizione viene verificata prima di ogni iterazione
  • do-while — il corpo viene eseguito almeno una volta
  • break esce da un ciclo; break N esce da N livelli
  • continue passa all'iterazione successiva

Prossimo argomento: foreach per iterare sugli array.

Domande Frequenti

La lezione «Cicli for e while» è gratuita?

Sì — il testo completo di «Cicli for e while» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.

Cosa imparerò in «Cicli for e while»?

Ripetere il codice con i cicli for, while e do-while. Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare PHP Academy?

Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Cicli for e while»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione PHP Academy?

Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. if, elseif e else
  2. Istruzioni switch e match
  3. Cicli for e while
  4. foreach e controllo dei cicli
← Torna a PHP Academy