In ogni linguaggio di programmazione esistono i cosiddetti cicli, ossia quando un determinato elemento o una determinata operazione vengono ripetuti per un certo numero di volte. Per quanto riguarda il PHP, i cicli più importanti e utilizzati sono foreachwhile e for.

Ciclo For PHP: struttura del for, esempi pratici e consigli

Oggi andremo ad analizzare il ciclo for: vedremo come si scrive, da quali parti è composto e come si utilizza grazie ad un semplice esempio.

ciclo for

La struttura del for

Il ciclo for ha la seguente struttura:

<?php
   for(istruzione1; istruzione2; istruzione3) {
      codice che esegue la ripetizione
   }
?>

L’istruzione for è una parola chiave di PHP che deve essere seguita, dentro le parentesi, da 3 istruzioni. In ordine, queste istruzioni vengono eseguite nel seguente modo:

  • istruzione1 viene eseguita una volta sola, all’inizio della prima iterazione del ciclo;
  • istruzione2 è la condizione che, se verificata, permette l’esecuzione di un nuovo ciclo;
  • istruzione3 viene eseguita ogni volta che si conclude un’interazione;

Nel caso in cui la condizione (istruzione 2) sia vera, verrà eseguito il codice all’interno delle parentesi graffe del for. Ovviamente, in caso contrario, quel codice verrà ignorato e verrà eseguito ciò che è presente dopo il ciclo for.

Ciclo For Esempio pratico

Mettiamo il caso in cui vogliamo stampare sul nostro schermo tutti i numeri da 15 a 20. Ecco come dovrà essere il codice:

<?php
   $i = 15
   for($i = 15; $i <= 20; $i++) {
      echo $i;
   }
?>

La prima istruzione del ciclo verifica se la variabile $i è effettivamente uguale a 15, e nel nostro caso lo è. Quindi si passa alla verifica della seconda istruzione, la condizione: anche in questo caso possiamo proseguire perché 15 è ovviamente minore di 20. L’ultima istruzione incrementa di un’unità il valore di $i, alla fine del ciclo, e il numero 15 verrà stampato sullo schermo.

Alla seconda iterazione, quindi, $i avrà valore 16 e quindi verrà soddisfatta la condizione, e così via.

Il ciclo si interromperà nel ciclo successivo alla stampa del numero 20. Per quale motivo? Perché al suo termine $i viene incrementato ancora una volta e prenderà il valore di 21, quindi la condizione che $i sia minore o uguale a 20 non sarà più verificata e il ciclo terminerà.

Il risultato che verrà stampato alla fine sarà, quindi:

151617181920

Decisamente poco leggibile. Per ovviare al problema, basterà ad esempio modificare l’echo del for concatenando una stringa vuota dopo ogni numero, nel seguente modo:

echo $i.' ';

Un paio di consigli Ciclo For PHP

Il ciclo for, generalmente, ha come terza condizione la stessa del nostro esempio ($i++) ma è possibile anche sostituirla a seconda delle nostre esigenze: difatti se dobbiamo fare un percorso “all’indietro” scriveremo semplicemente l’altro operatore $i–.

E’ possibile saltare l’esecuzione all’interno del ciclo utilizzando il comando continue.

<?php
   $i = 15
   for($i = 15; $i <= 20; $i++) {
      if ($i == 17) {
          continue;
      }
      echo $i;
   }
?>

In questo caso il numero 17 non verrà stampato.

E’ possibile anche interrompere il ciclo utilizzando break.

Perfeziona la tua conoscenza di PHP, scegli i corsi LaraMind, diventa uno sviluppatore avanzato!