PHP 4 (non PHP 3) permette l'uso della struttura di controllo foreach,
alla stessa maniera del linguaggio Perl e altri. Ciò semplicemente fornisce
una facile metodo per attraversare un array. Esistono due possibili notazioni sintattiche; la seconda è
un'utile estensione della prima:
La prima attraversa l'array dato da
array_expression. Ad ogni ciclo, si assegna il valore
dell'elemento corrente a $value e
il puntatore interno avanza di una posizione (in modo tale che al ciclo successivo
l'elemento corrente sarà il successivo elemento dell'array).
La seconda esegue lo stesso ciclo con la differenza che il
valore dell'indice corrente viene assegnato ad ogni ciclo,
alla variabile $key.
Nota:
All'inizio dell'esecuzione di un ciclo foreach
il puntatore interno viene automaticamente posizionato nella prima
posizione. Questo significa che non è necessario utilizzare la
funzione reset() prima di un ciclo
foreach.
Nota:
È importante notare che foreach opera su una copia
dell'array, non sull'array stesso, pertanto il puntatore dell'array originale
non viene modificato come accade utilizzando la funzione each()
e le modifiche agli elementi dell'array non
appaiono nell'array originale.
Nota:
foreach non offre la possibilità di annullare la generazione
di messaggi d'errore utilizzando il carattere '@'.
Avete probabilmente notato che i due cicli seguenti sono identici da un
punto di vista funzionale:
Allo stesso modo i due cicli seguenti sono identici:
Di seguito, altri esempi per mostrare possibili utilizzi: