Cicli in PHP: while, do while, for e foreach spiegati

Cicli in PHP: while, do while, for e foreach spiegati

In questo articolo impari a ripetere una serie di azioni usando i cicli in PHP.

I diversi tipi di cicli in PHP

I cicli servono a eseguire lo stesso blocco di codice più e più volte, finché una certa condizione è soddisfatta. L’idea di base di un ciclo è automatizzare le operazioni ripetitive di un programma per risparmiare tempo e fatica. PHP supporta quattro tipi di cicli.

  • while – ripete un blocco di codice finché la condizione indicata è vera.
  • do while – il blocco di codice viene eseguito una volta, poi la condizione viene valutata. Se è vera, l’istruzione si ripete finché la condizione indicata resta vera.
  • for – ripete un blocco di codice finché il contatore raggiunge un numero preciso.
  • foreach – ripete un blocco di codice per ogni elemento di un array.

Alla fine di questo capitolo imparerai anche a scorrere i valori di un array con il ciclo php foreach. Il ciclo php foreach funziona esclusivamente con gli array.

Ciclo PHP while

L’istruzione php while permette di ripetere un blocco di codice finché la condizione indicata nell’istruzione php while viene valutata come vera.

php while

php
while(condition){
    // Codice da eseguire
}

L’esempio qui sotto definisce un ciclo che parte da $i=1. Il ciclo continua a girare finché $i resta minore o uguale a 3. $i aumenta di 1 a ogni giro:

php while

php
$i = 1;
while($i <= 3){
    $i++;
    echo "Le nombre est " . $i . "<br>";
}

Risultato:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Ciclo PHP do while

Il ciclo php do while è una variante del ciclo while che valuta la condizione alla fine di ogni iterazione. Con un ciclo php do while il blocco di codice viene eseguito una volta, poi la condizione viene valutata. Se è vera, l’istruzione si ripete finché la condizione valutata resta vera.

php while

php
do{
    // Codice da eseguire
}
while(condition);

L’esempio seguente definisce un ciclo che parte da $i=1. Poi aumenta $i di 1 e stampa l’output. A quel punto la condizione viene valutata e il ciclo continua a girare finché $i resta minore o uguale a 3.

php do while

php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);

Risultato:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Differenza tra i cicli while e do while

Il ciclo php while si distingue dal ciclo php do while su un punto importante: con un ciclo php while la condizione viene testata all’inizio di ogni iterazione, quindi se l’espressione condizionale è falsa il ciclo non viene mai eseguito.

Con un ciclo php do while, invece, il ciclo viene sempre eseguito una volta anche se l’espressione condizionale è falsa, perché la condizione viene valutata alla fine dell’iterazione e non all’inizio.

Ciclo PHP for

Il ciclo php for ripete un blocco di codice finché una certa condizione è soddisfatta. Di solito si usa per eseguire un blocco di codice un numero preciso di volte.

php for

php
for(initialisation; condition; incrementation){
    // Codice da eseguire
}

I parametri del ciclo php for hanno questo significato:

  • inizializzazione – serve a inizializzare le variabili contatore e viene valutata una sola volta, senza condizione, prima della prima esecuzione del corpo del ciclo.
  • condizione – all’inizio di ogni iterazione la condizione viene valutata. Se risulta vera il ciclo prosegue e le istruzioni annidate vengono eseguite. Se risulta falsa l’esecuzione del ciclo termina.
  • incremento – aggiorna il contatore del ciclo con un nuovo valore. Viene valutato alla fine di ogni iterazione.

L’esempio qui sotto definisce un ciclo che parte da $i=1. Il ciclo prosegue finché $i resta minore o uguale a 3. La variabile $i aumenta di 1 a ogni giro:

php for

php
for($i=1; $i<=3; $i++){
    echo "Le nombre est " . $i . "<br>";
}

Risultato:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Ciclo PHP foreach

Il ciclo php foreach si usa per iterare sugli array.

php foreach array

php
foreach($array as $value){
    // Codice da eseguire
}

L’esempio seguente mostra un ciclo che stampa i valori dell’array indicato:

php foreach array

php
$colors = array("Rouge", "Vert", "Bleu");

// Ciclo sull'array dei colori
foreach($colors as $value){
    echo $value . "<br>";
}

Risultato:

Rouge
Vert
Bleu

Esiste un’altra sintassi del ciclo php foreach, che estende la prima.

php foreach key value

php
foreach($array as $key => $value){
    // Codice da eseguire
}

php foreach key value

php
$superhero = array(
    "nom" => "Peter Parker",
    "email" => "peterparker@marvel.com",
    "âge" => 16
);

// Ciclo sull'array dei supereroi
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}

Risultato:

nom : Peter Parker
email : peterparker@mail.com
âge : 18

Conclusione

A questo punto dovresti avere i cicli sotto controllo. Se cerchi altri articoli per affinare le tue conoscenze di PHP, ti invito a leggere il mio articolo sulla creazione e sul formato delle date in PHP e il mio tutorial PHP su Laravel, che ti dà le basi per lavorare con un framework PHP.

PHP

Damien Flandrin Sviluppatore web dal 2010, creatore di Gekkode e di Email Impact. Ogni articolo è testato su un progetto reale prima della pubblicazione. Contatti
Newsletter

I nuovi test, tutorial e progetti, via e-mail.

Test riproducibili, codice versionato, risultati datati. Mai spam.