-
Qualcuno sarebbe così gentile da spiegarmi ke roba sono, a cosa servono e come si usano
for
foreach
while
?
ho cercato nei manuali PHP (in quello ufficiale), ma nn ci capisco molto...
è ke li vedo spesso negli script e penso mi possano essere utili x il lavoro ke sto facendo...
Grazie!
-
-
Sono costrutti iterativi.
Servono a ripetere un determinato blocco d'istruzioni un numero determinato (for) o indeterminato (while) di volte.
Il foreach, invece, serve per scansionare uno per uno tutti gli elementi di un'array.
-
In pratica:
Ciclo FOR
Equivale a dire: "ripeti queste istruzioni per un numero che va da x a y"
esempio:
[code:1:156c628706]
for ($numero =0; $numero <=9; $numero++) {
...
}
[/code:1:156c628706]
$numero e' una variabile che al primo passaggio conterra' 0, al secondo 1, e cosi' via.
Ciclo WHILE
Equivale a dire: "ripeti queste istruzioni finche' la condizione specificata non risulta vera"
esempio:
[code:1:156c628706]
while ($condizione) {
...
}
[/code:1:156c628706]
$condizione e' una variabile (in questo caso) che parte falsa e appena diventa vera il ciclo si ferma.
Si puo' usare anche un'espressione o una funzione, tipo:
[code:1:156c628706]
while ($linea= @fgets($filedaleggere, 1024)) {
...
}
[/code:1:156c628706]
in questo caso le istruzioni all'interno delle parentesi graffe verranno ripetute fino a che $linea conterra' una linea letta da fgets nel file $filedaleggere. In pratica legge un file dall'inizio alla fine.
Ciclo FOREACH
Equivale a dire: "per ciascun elemento dell'array ripeti..."
esempio:
[code:1:156c628706]
foreach ($array as $nome => $valore) {
...
}
[/code:1:156c628706]
$array e' un array
$nome conterra' ad ogni passaggio il nome dell'elemento e $valore il suo valore, ad esempio per l'array:
$array['oggi'] = 'martedi'
$array['domani'] = 'mercoledi'
$array['finalmente'] = 'sabato'
al primo passaggio $nome sara' 'oggi' e $valore 'lunedi', al secondo $nome sara' 'domani' e $valore 'martedi' ecc...
Puoi anche scrivere solo
foreach ($array as $valore)
se non ti interessano i nomi.
:wink:
-
ora ho capito... grazie Cod... grazie anke agli altri