La construcción foreach

La construcción foreach permite recorrer secuencialmente los elementos de un array. Funciona con arrays y objetos que implementan la interfaz Traversable. Existen dos variantes de sintaxis: para recorrer solo valores y para recorrer claves y valores.

Sintaxis

phpforeach (array as $value) {
  // cuerpo del bucle
}
phpforeach (array as $key => $value) {
  // cuerpo del bucle
}

Ejemplo

Recorrido simple de elementos de un array:

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

Resultado de la ejecución del código:

php1
2
3
4
5

Ejemplo

Recorrido de un array obteniendo claves y valores:

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

Resultado de la ejecución del código:

phpa: 1
b: 2
c: 3

Ejemplo

Uso de referencia para modificar elementos del array:

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

Resultado de la ejecución del código:

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

Ver también

  • la función array_map,
    que aplica una función callback a todos los elementos del array
  • la función array_walk,
    que aplica una función definida por el usuario a cada elemento del array