Control del flujo en PHP: Bucles II
Estructura y funcionamiento de los bucles for y foreach. Explicamos como salir de un bucle: Break y continue
01/1/70 - 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.
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 4 comentarios (Añadir)
+ 6 comentarios no revisados
| Autoría, licencia y acciones sobre este artículo |
|
Informe de Rubén Alvarez*
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
* Para consultas técnicas utilizar la lista de correo.
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
Manuales de PHP
Comentarios de los visitantes
|
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
|
| Se muestran 4 comentarios revisados |
Comentario de AnimAlf
13/8/03
Si se trata de un array multidimensional se podría modificar la función del siguiente modo ...
function mostrar_array ($array)
{
Foreach ($array as $clave=>$valor)
{
echo "$clave => $valor
";
if (is_array($valor)) mostrar_array($valor);
}
}
Comentario de Andrés
10/6/05
No funciona correctamente el ejemplo de moneda/pais, el resultado que me da en pantalla despues de copiar y pegar es este:
"Peseta","Francia" => "Franco","USA" => "Dolar"); Foreach ($moneda as $clave=>$valor) { echo "Pais:" $clave Moneda: $valor"; } ?>
Comentario de HéAoPéz
21/5/06
Guillermo Chirino
La parte que dice "is_array($valor)" muestra si $valor es array en caso de serlo vuelve a aplicar el metodo mostrar_array de manera recursiva.
Osea que si el array es una matriz despliega todos lo valores.
Espero me entiendas
Comentario de jonas
01/2/07
Hola, sobre el item "incremento" en la sentencia.
En ASP es claro a traves de la cláusula STEP.
Generalmente usamos en php el incremento en 1, es decir "++".
He estado en una situación en que el incremento en php debía ser un numero de dos digitos, digamos 64, entonces...la pregunta es, cómo se programan los incrementos....
muchas gracias, y como siempre, felicitaciones.
| Comentarios sin revisar |
|
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
|
Se han encontrado 6 comentarios sin revisar
Ir arriba