Ed eccoci qui, finalmente, con la quarta lezione del corso completo di php, introdotto circa due mesi fa, dalla data di pubblicazione di quest’ultima lezione.
Oggi siamo qui per vedere l’ultima forma principale della programmazione. Ricordo, come ho fatto in tutte le lezioni, che queste 3 forme condizionali che abbiamo visto (sequenziale, condizionale e iterativa), sono le stesse presenti in tutti i linguaggi di programmazione. Quindi imparate una volta, sono praticamente imparate per sempre. La cosa bella è che è sufficiente cambiare soltanto la sintassi e mantenendo la stessa logica, il risultato non cambia con qualsiasi linguaggio che si ha davanti.
Certo ogni linguaggio ha delle funzioni in più o in meno rispetto ad altri, ma comunque fidatevi che la logica non cambia.
Ma ora, senza perderci in altre congetture, andiamo a vedere cosa ci aspetta in questa lezione
Forma iterativa
La forma iterativa è la terza forma principale e logica della programmazione, che sfrutta il vero potenziale di una macchina, ovvero quello di ripetere molteplici volte, le stesse istruzioni, fino ad arrivare ad un risultato ben preciso. Queste istruzioni vengono ripetute in modo molto veloci. Un ciclo normalmente, poi dipende dalla mole di istruzioni che gli abbiamo assegnato di fare, si conclude nel giro di pochi millesimi di secondi. Una volta che le istruzioni contenute nel ciclo terminano, le istruzioni vengono rieseguite da capo, fino ad ottenere, come abbiamo appena detto, un determinato risultato.
Ci sono due tipi di cicli principali che vedremo in questa lezione e sono quelli che vengono maggiormente usati. Il ciclo for e il ciclo while.
Oggi li vedremo entrambi. Ovvio che, per non allungare troppo l’articolo, nelle successive lezioni li approfondiremo meglio.
Andiamo a vedere il ciclo while.
WHILE
Andiamo a vedere prima questo ciclo, in quanto la sua sintassi e la sua logica si avvicinano molto alla forma condizionale che abbiamo visto fino alla lezione precedente.
Questo tipo di ciclo, infatti, permette di controllare il valore di una variabile. Il ciclo infatti ripete le istruzioni al suo interno, finché la variabile che sta controllando al momento non ha raggiunto un valore che abbiamo stabilito noi. Lo so, sembra complicato, ma vi posso assicurare che non lo è.
Per rendere tutto più semplice da comprendere, ecco questo esempio di codice
Come potrete vedere non è difficile come meccanismo. Essendo poi ben commentato, questo codice è veramente molto chiaro.
Vorrei far notare una cosa. In questo codice ho usato l’operatore ++, che come potrete vedere dal codice permette di ottenere lo stesso risultato di:
$variabile = $variabile + 1;
Infatti questo operatore non fa altro che incrementare di uno una variabile. Questo operatore risulta essere molto comodo nei cicli, come questo, per evitare di scrivere lunghe righe di codice. Quando si può abbreviare, è bene farlo, per rendere il codice più pulito.
Esiste anche un altro operatore, che fa l’opposto di questo appena visto, ovvero decrementa di uno il valore di una variabile.
Quindi
- ++ -> Incrementa di uno il valore di qualsiasi variabile
- — -> Decrementa di uno il valore di qualsiasi variabile
FOR
Il ciclo for sembra più complicato, ma vi posso assicurare che non lo è. Questo ciclo ha la particolarità, come il While, di eseguire ciclicamente più volte le stesse istruzioni per raggiungere un determinato obiettivo. Ma a differenza del ciclo while, non si fa questo per far si che la variabile da controllare raggiunga un determinato valore, ma si iterano le istruzioni per far si che si arrivi ad un determinato obiettivo, che potrebbe non avere nulla a che fare con le variabili da controllare nel ciclo. Infatti le variabili di controllo, che poi in realtà è una, usata all’interno del ciclo for, viene usata solo come contatore, per verificare che il ciclo ripeta tutte le istruzioni per tutte le volte necessarie.
Questo ciclo è fondamentale, per via di queste caratteristiche, per gestire un vettore (abbiamo visto i vettori e gli array nella lezione precedente).
Come abbiamo fatto prima, vediamo un esempio pratico per semplificare un po’ il tutto
Come nel codice visto per il ciclo while, anche questo è veramente di facile comprensione, anche perché è ben commentato.
In questo ciclo, stamperò a video, per dieci volte, la parola ciao.
Alcuni di voi si staranno chiedendo, molto probabilmente, il perché io abbia dichiarato una variabile chiamandola i. Beh nel ciclo for, per convenzione, la variabile che gestisce il numero di volte in cui il ciclo deve andare in funzione, ripetendo le istruzioni contenute all’interno delle parentesi graffe (variabile detta anche contatore), viene dichiarata con il nome i. Ognuno poi la può chiamare come vuole, ma diciamo che per rendere il codice più comprensibile per tutti, soprattutto se si lavora in un team, è meglio rispettare le convenzioni. Questa è una di quelle.
Nel corso delle prossime lezioni, vedremo tanti altri casi di convenzioni simili a questa, usate in altri ambiti.
Questo tipo di convenzione, viene usata in tutti i linguaggi di programmazione. Quindi se ti metterai a programmare in Java, potrai vedere che la variabile contatore si chiamerà sempre i.
Ovviamente poi cambia la sintassi di dichiarazione di una variabile, ma come ho detto anche prima, la logica rimane sempre la medesima.
Proprietà del ciclo for
Il ciclo for al suo interno contiene tre istruzioni. Ogni istruzione termina con il ;
La prima istruzione serve per dichiarare e inizializzare una variabile. Quello è il punto di partenza di un ciclo. Io ho impostato come punto di partenza il valore 0, in quando in molti casi, tra cui memorizzare dei dati all’interno di un vettore, la prima cella dello stesso vettore è 0, quindi è d’obbligo che il ciclo parta da 0.
Nella seconda istruzione viene effettuato un controllo. Il ciclo si interrompe solo se il valore della variabile ha raggiunto il valore prefissato dal programmatore. In poche parole: il contatore ha raggiunto il valore richiesto? Bene, allora vuol dire che il compito è stato concluso. Una volta che il compito è stato concluso… beh il ciclo termina.
Nella terza istruzione la variabile viene incrementata o decrementata di uno o più valori, in modo tale da far raggiungere la variabile il valore richiesto.
Vediamo un esempio pratico dell’uso del ciclo for, per la lettura di un vettore con 4 elementi
Partiamo dal vettore.
Questo è un vettore (lo possiamo riconoscere perché ha una sola riga, differentemente dagli array che hanno invece più righe)
Ecco un esempio di array per capirci
Il vettore che abbiamo scritto nel nostro sorgente è un vettore non indicizzato. In poche parole, non abbiamo inserito un nome identificativo per ogni valore che abbiamo inserito. Quindi per riconoscerli, il php, li contraddistingue con un valore numerico che parte da 0 e arriva a un numero infinito (si ferma solo quando terminano le celle del vettore).
In questo caso il vettore parte da 0 e termina a 3. Quindi ci sono ben 4 valori.
All’interno del ciclo io vado a dichiarare e inizializzare una variabile contatore, impostando come valore iniziale, il numero 0. Successivamente imposto che la variabile deve raggiungere un valore minore o pari al numero di celle, quindi in questo caso 4. E poi effettuo la somma di uno sulla variabile $i
Quindi tra le parentesi graffe, vado a stampare il valore di ogni cella dell’array. Per riconoscere il valore della cella e quindi stampare quella desiderata, uso la variabile $i. Quindi scrivo
echo $vettore[$i]
E il risultato di tutto questo è il seguente
Conclusione
Oggi abbiamo visto in linea generale il funzionamento del ciclo for e del ciclo while. Nelle prossime lezioni andremo ad approfondire questi due cicli e i vettori, che saranno sempre più utili per il corso.
Per il momento è tutto. Come al solito io vi saluto, e vi aspetto alla mia prossima lezione di php!