foreach
è una simpatica struttura di controllo ereditata dal Perl che ci permette di attraversare un intero array
senza preoccuparci di contatori e condizioni.
Ne esistono due versioni che sembrano simili ma sono profondamente diverse.
La prima associa ad ogni ciclo il valore dell’array
ad una variabile. La seconda associa anche il nome della chiave dell’elemento corrente.
Quando si usa foreach
si deve fare attenzione perché quando viene usata questa struttura il PHP crea una copia dell’array
e opera su quello.
Questo può essere sia un bene che un male.
Quando si ha a che fare con array
molto grandi si rischia di rallentare molto lo script, però con array
di medie dimensioni questo metodo e piú veloce degli altri, è quindi consigliabile usarlo.
Vediamo qualche esempio.
<?php $array_a = array (1, 2, 3, 4); $array_b = array ('a', 'b', 'c', 'd'); /* Naviga un array stampando i valori contenuti */ foreach ($array_a as $elem) { echo "$elem\n"; } /* Naviga un array stampando i valori contenuti e anche le chiavi dei vari elementi */ foreach ($array_b as $key => $elem) { echo "elem vale -> $elem \nKey vale -> $key"; } ?>
Spesso poi può essere utile usare la seconda forma di foreach
e usare la chiave per accedere direttamente all’array
vero e proprio senza dover usare la copia.
Da notare anche che il ciclo foreach
inizia sempre dalla prima locazione dell’array
e non c’è altro modo e la progressione è sempre 1.
vicius
Commenti recenti