Programmazione: i cicli for nidificati.

Loading

Come sappiamo un ciclo for è un controllo di flusso che consente di ripetere una data serie di istruzini un numero predefinito (anche calcolato) di volte.
 
Quando all’interno di un ciclo for si inserisce un altro ciclo for si parla di cicli for nidificati.
 
L’utilizzo di questi cicli può tornare utile quando dobbiamo descrivere strutture bidimensionali come ad esempio tabelle o array bidimensionali.

Il codice da utilizzare è qualche cosa del genere:

for ($i=0;$i<5;$i++){
   for($k=0;$k<5;$k++) echo $i*$k;
   echo "<br />";
}

Il numero di esecuzioni del blocco di codice del secondo ciclo (cioè del ciclo più interno) è dato dal numero di esecuzioni del cilco esterno, moltiplicato per il numero di esecuzioni del ciclo nidificato, nel nostro caso 5 * 5 = 25.
In pratica per ogni valore di $i (0,1,2,3,4) $k assumerà tutti i valori tra 0 e 4, ricominciando ad ogni variazione di $i.

Quando si usano i cicli nidifcati le variabili utilizzate devono essere diverse altrimenti l’esecuzione del codice non è quella che ci aspettiamo.

Ad esempio se scrivessimo:

for ($i=0;$i<5;$i++){
   for($i=0;$i<5;$i++) echo $i;
   echo "<br />";
}

Alla fine del ciclo più interno $i varrebbe 5, questo valore bloccherebbe l’esecuzione di primo ciclo, quindi avremmo 5 “ciclate” invece di 25.