Recuperando posts de mi antiguo blog aprendiendophp.net...
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, vector o array. 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:
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:Código: Seleccionar todo
foreach (array as $valor) { instrucción; }
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...Código: Seleccionar todo
<?php $colores = array("blanco", "azul", "verde manzana", "salmón"); foreach ($colores as $pintura) { echo "Color: <b>$pintura</b><br />"; } ?>