Estructura y funcionamiento de los bucles for y foreach. Explicamos como salir de un bucle: Break y continue
Este es el segundo artículo sobre los bucles en PHP que publicamos en el Manual de PHP. El anterior artículo explicó acerca de los bucles while y do-while. Así pues, ahora vamos a dedicarnos a los otros tipos de bucles, que son el bucle for, para iterar un número dado de veces, foreach, útil para recorrer arrays, así como las sentencias break y continue.
Bucle for
PHP está provisto de otros tipos de bucle que también resultan muy prácticos en determinadas situaciones. El más popular de ellos es el bucle for que, como para los casos anteriores, se encarga de ejecutar las instrucciones entre llaves. La diferencia con los anteriores radica en cómo se plantea la condición de finalización del bucle. Para aclarar su funcionamiento vamos a expresar el ejemplo de bucle while visto en el capítulo anterior en forma de bucle for:
<?
For ($size=1;$size<=6;$size++)
{
echo"<font size=$size>Tamaño $size</font><br>n";
}
?>
Las expresiones dentro del paréntesis definen respectivamente:
- Inicialización de la variable. Valida para la primera vuelta del bucle.
- Condición de evaluación a cada vuelta. Si es cierta, el bucle continua.
- Acción a realizar al final de cada vuelta de bucle.
Bucle foreach
Este bucle, implementado en las versiones de PHP4, nos ayuda a recorrer los valores de un array lo cual puede resultar muy útil por ejemplo para efectuar una lectura rápida del mismo. Recordamos que un array es una variable que guarda un conjunto de elementos (valores) catalogados por claves.
La estructura general es la siguiente:
Foreach ($array as $clave=>$valor)
{
instruccion1;
instruccion2;
;
}
Un ejemplo práctico es la lectura de un array lo cual podría hacerse del siguiente modo:
<?
$moneda=array("España"=> "Peseta","Francia" => "Franco","USA" => "Dolar");
Foreach ($moneda as $clave=>$valor)
{
echo "Pais: $clave Moneda: $valor<br>";
}
?>
Este script se encargaría de mostrarnos por pantalla el contenido del array $moneda. No resultaría mala idea crear una función propia basada en este bucle que nos permitiese visualizar arrays monodimensionales y almacenarla en nuestra librería. Esta función podría ser definida de esta forma:
Function mostrar_array ($array)
{
Foreach ($array as $clave=>$valor)
{echo "$clave=>$valor<br>";}
}
Break y continue
Estas dos instrucciones se introducen dentro de la estructura y nos sirven respectivamente para escapar del bucle o saltar a la iteración siguiente. Pueden resultarnos muy prácticas en algunas situaciones.
Durante una iteración de un bucle podemos saltar directamente a la siguiente iteración, sin seguir con la actual, con la instrucción continue.
También podemos detener completamente las repeticiones de cualquier bucle con break, lo que parará la ejecución de la iteración actual y de las siguientes que pudiera haber.
Además, si deseas aprender la estructura de control switch y las instrucciones break y continue, así como ver otro ejemplo de foreach, te recomendamos ver los Videotutoriales de estructuras de control en PHP II.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...