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 notowhile— controllato da una condizionedo-while— viene eseguito almeno una voltaforeach— 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 4Ciclo 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 5Ciclo 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; // 5continue — 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 è notowhile— la condizione viene verificata prima di ogni iterazionedo-while— il corpo viene eseguito almeno una voltabreakesce da un ciclo;break Nesce da N livellicontinuepassa 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.