Menu
Coddy logo textTech

Ciclo while

Fa parte della sezione Fondamenti del percorso PHP di Coddy. Lezione 48 di 71.

Mentre il ciclo for funziona alla grande quando conosci il numero esatto di iterazioni, il ciclo while è perfetto quando vuoi continuare a eseguire il ciclo finché una condizione non diventa falsa.

Un ciclo while verifica la sua condizione prima di ogni iterazione. Se la condizione è vera, viene eseguito il codice al suo interno. Questo continua finché la condizione diventa falsa.

<?php
$count = 1;

while ($count <= 3) {
    echo "Count: $count\n";
    $count++;
}
?>

Questo produce:

Count: 1
Count: 2
Count: 3

Il ciclo inizia controllando se $count <= 3. Poiché è vero, il codice viene eseguito e incrementa $count. Quando $count raggiunge 4, la condizione non è soddisfatta e il ciclo si interrompe.

Importante: Assicurati sempre che qualcosa all'interno del ciclo renda prima o poi falsa la condizione. Altrimenti, creerai un ciclo infinito che non smette mai di funzionare.

<?php
$total = 0;
$num = 1;

while ($total < 10) {
    $total += $num;
    $num++;
}

echo $total;
?>

Continua ad aggiungere numeri finché il totale non raggiunge o supera 10, quindi mostra il valore finale.

challenge icon

Sfida

Facile

Leggi un singolo numero intero dall'input che rappresenta una somma obiettivo.

Usa un ciclo while per sommare numeri consecutivi a partire da 1 (1, 2, 3, 4, ...) finché il totale raggiunge o supera la somma obiettivo.

Stampa il totale finale sulla prima riga e l'ultimo numero aggiunto sulla seconda riga.

Esempio 1:

Se l'input è 10, l'output dovrebbe essere:

10
4

(1 + 2 + 3 + 4 = 10, che raggiunge l'obiettivo)

Esempio 2:

Se l'input è 15, l'output dovrebbe essere:

15
5

(1 + 2 + 3 + 4 + 5 = 15)

Esempio 3:

Se l'input è 7, l'output dovrebbe essere:

10
4

(1 + 2 + 3 + 4 = 10, che supera 7)

Provalo tu

<?php
// Leggi la somma da raggiungere
$target = intval(fgets(STDIN));

// Inizializza le variabili
$total = 0;
$num = 0;

// TODO: Scrivi qui il tuo codice
// Usa un ciclo while per sommare numeri consecutivi (1, 2, 3, ...)
// finché la somma non raggiunge o supera il valore da raggiungere


// Visualizza la somma finale e l'ultimo numero aggiunto
echo $total . "\n";
echo $num;
?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore PHP online