Costrutto foreach

Il costrutto foreach permette di iterare sequenzialmente sugli elementi di un array. Funziona con array e oggetti che implementano l'interfaccia Traversable. Esistono due varianti di sintassi: per iterare solo sui valori e per iterare su chiavi e valori.

Sintassi

phpforeach (array as $value) {
  // corpo del ciclo
}
phpforeach (array as $key => $value) {
  // corpo del ciclo
}

Esempio

Iterazione semplice degli elementi di un array:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $value) {
    echo $value . '<br>';
  }
?>

Risultato dell'esecuzione del codice:

php1
2
3
4
5

Esempio

Iterazione di un array ottenendo chiavi e valori:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3];
  
  foreach ($arr as $key => $value) {
    echo "$key: $value<br>";
  }
?>

Risultato dell'esecuzione del codice:

phpa: 1
b: 2
c: 3

Esempio

Utilizzo del riferimento per modificare gli elementi dell'array:

php<?php
  $arr = [1, 2, 3, 4, 5];
  foreach ($arr as &$value) {
    $value *= 2;
  }
  
  unset($value);
  print_r($arr);
?>

Risultato dell'esecuzione del codice:

php[2, 4, 6, 8, 10]

Vedi anche

  • la funzione array_map,
    che applica una funzione callback a tutti gli elementi dell'array
  • la funzione array_walk,
    che applica una funzione definita dall'utente a ogni elemento dell'array