Instrucciones iterativas en PHP (II): bucles Foreach (I)

Estructuras de control de flujo en PHP

Valencia, 25/10/2012, G.B.
La siguiente instrucción iterativa en PHP que vamos a ver es el bucle foreach. Foreach nos permite iterar o ‘enunciar’ cada elemento de una matriz, vectorarray. En otras palabras, nos permite ‘recorrer’ todos los datos de una matriz, array o vector.

La diferencia entre el bucle For y el bucle Foreach es que cuando se utiliza el bucle foreach se ejecuta todo lo que está escrito en la instrucción iterativa, sin tener en cuenta ningún contador. En cambio, al utilizar el bucle for, se realizan las instrucciones un determinado número de veces, dependiendo del contador: “hazlo X veces”.  Así, en las instrucciones foreach no se pueden producir errores, siempre y cuando estén bien escritas, claro.

El bucle foreach tiene dos usos:
1) Mostrar todos los datos de un array
2) Mostrar un valor concreto del array

La sintáxis de foreach del primer uso (1), para recorrer y mostrar todos los datos de la matriz o  array es:

identificador de la matriz o vector; expresión con el operador ‘as’; variable que identifica cada uno de los elementos de la matriz; sentencias o instrucciones a realizar:


O lo que es lo mismo: 

foreach (array as $valor) {
instrucción;
}

Veámoslo con un sencillo ejemplo que recorre todos los valores de la matriz o array y los imprime con la instrucción echo, añadiendo un salto de línea en HTML (<br />) tras cada uno de los elementos recorridos y mostrados de la matriz $colores:

<?php
$colores = array("blanco", "azul", "verde manzana", "salmón");
foreach ($colores as $pintura) {
echo "Color: <b>$pintura</b><br />";
}
?>

Ejecutar ejemplo

El segundo uso de foreach (2) es para mostrar un determinado valor de la matriz. Pero será en el próximo post, y con más ejemplos…

Lecturas recomendadas:
foreach (PHP Manual)
Foreach PHP
CategoríasPHP