Il ciclo While in PHP
Gli argomenti di questa pagina
|
Struttura di controllo while
Un costrutto alternativo ai due cicli for e foreach è il ciclo while.
Come per il ciclo for, il ciclo while dura fino a quando la condizione è vera. Per far questo dobbiamo necessariamente impostare una valore prima di iniziare il ciclo far variare la condizione di tale valore all'interno del ciclo.
E' possibile affermare che è leggermente meno sofisticato di un ciclo for, ma svolge approssimativamente la stessa funzione.
E' composto da un blocco di istruzioni e da una condizione di uscita.
All'ingresso del ciclo e ogni volta che viene eseguito tutto il blocco di istruzioni si effettua il controllo sulla condizione di uscita.
Il ciclo termina quando la condizione d'uscita restituisce il valore FALSE.
Può essere considerato come una IF ripetuta all'interno del ciclo fintanto che il risultato della verifica risulti TRUE.
La sintassi di un ciclo while è la seguente:
blocco istrizioni;
eventuasle modifica del valore valutato in condizione
}
Vediamo ora alcuni esempi.
Comparazione tra while e for
Qui sotto è possibile osservare la differenza che corre tra le due strutture while e for
|
Valore attuale: 0
Valore attuale: 1 Valore attuale: 2 Valore attuale: 3 Valore attuale: 4 Valore attuale: 5 Valore attuale: 6 Valore attuale: 7 Valore attuale: 8 Valore attuale: 9 Equivalente a Valore attuale: 0 Valore attuale: 1 Valore attuale: 2 Valore attuale: 3 Valore attuale: 4 Valore attuale: 5 Valore attuale: 6 Valore attuale: 7 Valore attuale: 8 Valore attuale: 9 |
Lettura di una normale matrice con ciclo while
Le operazioni da eseguire:
imposto un contatore al valore minimo (0 - zero)
avvio il ciclo while
stampo il primo elemento puntato da tale contatore
incremento il contatore
continuo nel ciclo finchè il contatore risulta inferiore al numero di elementi contenuti nella matrice
|
Marco
Giovanni Pasquale Giuseppe Nicola Luisa Ivo Maria |
Lettura di una matrice associativa con ciclo while
Usando questo ciclo possiamo leggere i soli valori della matrice che le chiavi e relativi valori.
In entrambi i casi occorre l'aiuto di una nuova funzione: list() che esige due argomenti.
Qui sotto verranno mostrati due esempi. In entrambi i casi il risultato che si ottiene è equivalente a quello offerto dal ciclo foreach.
Nel primo esempio leggo i soli valori, perciò lascio vuoto il primo argomento scrivendo una semplice virgola (,) e scrivo il nome della variabile dove voglio memorizzare i vari valori puntati dal ciclo
Primo esempio
|
Primo esempio
lettura dei soli valori Value: Mattoni Value: Legno Value: Plastica Value: Lana Value: Pelle Equivalente al seguente Mattoni Legno Plastica Lana Pelle |
Nel secondo esempio tentiamo di leggere sia le chiavi che i valori ad esse associati di una matrice associativa, perciò nella funzione list() scrivo i due argomenti key e value.
Secondo esempio
|
Secondo esempio
lettura delle chiavi e dei valori Key: Casa: Value: Mattoni Key: Finestra: Value: Legno Key: Sacco: Value: Plastica Key: Coperta: Value: Lana Key: Scarpe: Value: Pelle Equivalente al seguente Casa ==> Mattoni Finestra ==> Legno Sacco ==> Plastica Coperta ==> Lana Scarpe ==> Pelle |
Lettura di un result-set con ciclo while
Come ultimo esempio diamo un metodo per la lettura di un result-set ottenuto da una Query ad un DB (non troppo fuori tema in questo contesto)
Non espongo tutta la procedura perchè quella verrà discussa in altra sede ed anche perchè in queste pagine non c'è alcuna connessione al DB.
Ovviamente qui non ci sarà nessun , ma solo il codice, non essendo questa la sede di lavoro con il DB.
1
|
<?php
|